赞 | 190 |
VIP | 627 |
好人卡 | 188 |
积分 | 95 |
经验 | 171230 |
最后登录 | 2025-1-6 |
在线时间 | 5075 小时 |
Lv4.逐梦者 (版主)
- 梦石
- 0
- 星屑
- 9547
- 在线时间
- 5075 小时
- 注册时间
- 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想说的是,做事情的时候一定要把自己的思维调整到最合适的模式,来适应不同任务的需求。(比方说写脚本就应该用程序员的思路) |
|