开发点滴

1。测试很重要。
代码设计编写前,不妨先写一个测试驱动,明确一下自己的需求。
测试环境一定要对生产环境模拟到位,系统平台,语言时区,操作习惯,数据量。

 

2。函数执行后必有变化,将实际结果与预期作比较即是测试。

函数设计最好带有返回值,方便测试;没有返回值不必强求,可以测试函数的参数,被函数操练后,参数多有变化,测试之;没有返回值,参数没有变化,函数多为IO功能,向磁盘数据库写入数据(其实该类函数应返回boolean结果),查询磁盘或数据库。

3。函数功能要单一。

4。继承用在程序流程模板上,用来实现需要复写的函数。

5。需要特殊实现的函数,应用IoC注入接口。
实现接口优于继承父类,Java中实现接口不影响继承其他父类。变更时替换实现类,而不需修改自身代码。

 

6。如果子类重写了父类的某个函数,不要在函数体中调用父类的同名函数。

没有道理,既然重写,父类的函数被假设为不合时宜的;如果必须使用父类的同名函数,请考虑其他的设计模式,如适配器,装潢,代理等等。这种强耦合的代码是可笑的。

 

7。使用函数(工厂)来实例化对象,而不使用new关键字。

隔离变化。

 

 

8。尽量不要使用链式表达式,。

第一,程序可读性差;第二,效率没有提升;尤其在c++开发中,第三,对象的生命周期可能提早结束,而开发者还在使用对象的内部变量;第四new出来的对象没有句柄,无法释放内存;在一个sequence point之前如果有多个可以产生side effect的表达式,无法保证这些side effect的先后顺序,而你的代码又恰恰依赖这些这些顺序的话,你可以辞职了。

 

9。仔细设计的你的日志。

日志的目的在于收集有用的信息,可以分析问题、数据挖掘、分析异常的原因等等。不要记录一个功能执行耗时,这是调试阶段的产物,不应该出现在生产环境。这是一种严重的浪费行为。

 

10。编写代码的时候请尽量多想想今后可能出现的更改,抽象你的代码,达到抽象的高度。

逐渐从Coder过度到Programmer,进而成为设计师。

 

11。牢记代码是写给人看的这一朴素真理,变量名有意义,思维简单,结构化,加注释。

 

12。跨平台开发,其中api绝对不可以依赖系统的默认的实现。
比如Java的时区,语言。如果网络应用,两端的字符集要显式的标为统一字符集,不可依赖系统。

 

13。在你编写代码有一年的经验之后,如果你读了设计模式,很好请深入,如果没有,请读一读。

 

14。软件的使用者是人,所以前端WEB层或UI层的开发不应当以数据为中心,而应该以用户的操作习惯为开发焦点。

15。主动关闭网络连接时,应提前通知另一端的机器。

16。与远程机器互连后,一台机器的一个write函数写入的数据,在另一台机器上一个read函数可能无法读取全部数据,即该数据(一段字节序列)可能被分批次发送。

 

17。设计好异常体系。

不要在业务应用中抛出框架异常,要抛也得是自定义的应用异常。

 

18。位运算操作数应是无符号类型的。避免最高位的1作为标识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值