| 赞 | 189  | 
 
| VIP | 627 | 
 
| 好人卡 | 188 | 
 
| 积分 | 96 | 
 
| 经验 | 171230 | 
 
| 最后登录 | 2024-7-3 | 
 
| 在线时间 | 5073 小时 | 
 
 
 
 
 
Lv4.逐梦者 (版主) 
	- 梦石
 - 0 
 
        - 星屑
 - 9552 
 
        - 在线时间
 - 5073 小时
 
        - 注册时间
 - 2013-6-21
 
        - 帖子
 - 3580
 
 
    
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
 本帖最后由 RyanBern 于 2014-11-26 11:19 编辑  
 
拿今天上编程课的破事来水一帖…… 
 
今天上课的主要内容是程序代码规范,老师讲了写代码时的基本原则,说了一些千万不能出现的东西,听完后感觉自己处处中枪。 
 
1.方法的长度超过15行 
 
2.临时变量起作用的范围超过5行 
 
3.结构层次超过3层 
 
4.写程序时候用到了ctrl+c / ctrl + v大法 
 
5.经常用一些又短又没有含义的变量名如temp, val, num 
 
总之,一句话,不要写只有自己才能看懂的代码(即使这样也是在短时间内)。 
听起来好有道理,我竟然无言以对。 
 
然后就是课堂作业:重构一个小游戏程序,尽量精简代码。 
这个代码我贴在下面了,不管你会不会编程,你都能感觉到,“这代码写得太美我不敢看”: 
"甜美的代码"  
用我现在的水平我大概能精简到原来的1/5吧,当然是保证运行效率不减少的情况下。 
老师说这个代码是在网上找的,估计是百度搜出来的(尼玛又黑我大天朝百度) 
 
突然想起了我上数据结构和算法课的时候,老师说过这么一句话:编程的大概分为两种人,一种是搞程序的,一种是搞算法的。这两种人的主要区别是在于他们在编程中起到的地位不同,搞算法的应该属于比较基础的部分,注重细节的实现,而搞程序的倾向于把各种程序“零件”组合在一起,更注重整体的结构(渣理解)。比方说Array#sort这个方法,我们很少关心它是怎么实现的,只需要会使用它就可以了,但是搞算法的就要把它具体怎么实现,细节处理等工作做好。 
 
其实从这方面上我们可以看出,程序员把大部分精力花在了程序结构设计上,想办法降低程序的维护难度,提高程序的可移植性以及代码的可读性,而做算法的专业人员从运行效率出发,写出跑得快(时间复杂度),资源耗费小(空间复杂度)的算法,所以可以写出一个只有自己才能看懂的代码。 
 
因此,老师说,“做程序的就是天天在电脑前面吃泡面的,做算法的就是坐在办公室里面写书的”,感觉这句话黑化了程序员。两种人都认为自己的领域要比对方的重要,这也无可厚非,但是,RB想说的是,做事情的时候一定要把自己的思维调整到最合适的模式,来适应不同任务的需求。(比方说写脚本就应该用程序员的思路) |   
 
 
 
 |