最近没有项目,所以最近看书没有太关注技术细节的学习,比较有时间所以看看了一些思想性的东西.模式啦架构啦等等准备一点点学习.每天强迫自己学一点,然后作一点记录.
今天说一点写代码习惯的问题.一个有经验的程序员手下的代码也有其艺术性.结合最近自己看书记录如下:
1,少复制,多复用. 同一功能代码尽量封装.想到年自己做一个程序,对几种不同设备做一样的分析,居然全是复制,结果一处更改,全都得改,做了很多无用功.还有当时不懂反射,不知道策略模式,充满大量if else.呵呵.
2,过长的函数.Juval Lowy的C#编码规范中说,一个函数代码不要超过50行.(<.NET组件程序设计>电工出版社).应该按功能分解函数.
3,过大的类,这个问题似乎和上面相似.应该按职责分成独立类,多用继承,公共方法放在基类.
4,过长参数.说一个函数不要超过5个参数,似乎如果相关参数很多,封装成一个对象,传递对象好些.
5,降低类的耦合,减轻代码地震.
6,基于接口编程是个好习惯.
7,滥用技巧.这个似乎对于我们这样的新手比较多见,学到新东西迫不及待要用上.前段时间做一个小东西,才几张表没太多数据库操作,我居然要用Nhibernate,现在想想这个过程确实加强了自己对nhibernated 学习,但是对程序来说没什么必要.
8,多态集合滥用.把集合元素设为Object,降低可读性.多用泛型集合.泛型还没有学好,这是下一步目标.
9,不要全public,隐私权在代码中也很重要.
10,多用属性代替共有字段.至于好处是什么我的实践中没发现,似乎成了习惯.网上搜下说什么字段拦截,还不懂.
11,命名规范.自己命名变量时总喜欢用一些无意义的字母,这很不好.应多用英文.(可怜我英文)说到这还有数据库中字段命名也要规范,前段时间给人做一个东西,表的字段命名非要我用拼音说英文他们公司员工看不懂,我也很无奈....
oK,其实就是个读书笔记.希望自己以后养成好习惯.还有希望自己每天学一点的计划能坚持.