勒布朗法则: 稍等等于永不 (Later equals never)
程序一开始就要好好写,不要想着以后来维护
保持代码的整洁,不但关乎效率,还关乎生存
读与写时间的比例超过10:1。写新代码的时候,我们一直在阅读旧的代码。
童子军军规:让营地比你来的时候更干净。
不变逻辑,通过修改变量名称。构建方法,使得逻辑清晰。
x[0] == 4cell[STATUS_VALUE] == FLAGGEDcell.isFlagged()NameString 会比 Name 好吗? 难道Name会是一个浮点数不成?
不说废话
类名和对象名使用名词或者名词短语 方法名使用动词或者是动词短语
//类名Customer,Wikipage,Account//方法名postPayment,deletePage,save函数20行封顶
函数应该做一件事情。做好这件事请。只做这件事请。
自顶向下设计程序,在一个抽象度上,拆分需要完成的步骤。
使用异常替代返回错误码
避免层层嵌套出错,通过异常替代机制。
抽离Try/Catch
将Try/Catch内部的主体,抽取出来,单独形成函数。
实际上,注释最多也就是一种必须的恶。若编程语言具有足够的表达力,就跟本不需要注释
通过合理的命名和函数的拆分来实现零注释。
花时间写注释,不如之间重构代码!
用代码来阐述
// Check to see if the employee is eligible for full benefitsif((employee.flags&HOURLY_FLAG)&&(employee.age>65)){ dosomething()}if(employee.isEligibleForFullBenefits())必要的注释: 法律信息,作者信息,TODO注释,编写公共API.
整个团队统一的编码风格,例如单个文件的大小。
某个函数调用了另外一个,调用函数应该在被调用者的上面
纵向上,空行,用来区别逻辑 横向上,空格,用来区别逻辑
新闻热点
疑难解答