用代码沟通
在任何阶段(项目进行中/项目完成后),都有保证代码易于理解、扩展、维护。
编写清晰的而不是讨巧的代码。只读一遍就可以知道运行机制。
规则:PIE-- program intently and expressively--意图清楚,表达明确的编程。
例如:正确的变量名/空格使用得当/逻辑分离清晰、表达式非常简洁。
少用注释---注释是为了写的不好的代码补漏。代码能够自我解释,不一定依赖注释。
注释的用途:为读者指定一条正确的代码访问路线图。描述代码意图和约束。注释主要是说明为什么这样写代码,而不是此行代码做了什么。
对于类中的每个方法,可能要说明以下信息:
- 目的:为什么需要这个方法
- 需求(前置条件):方法需要什么样的输入,对象必须处于何种状态,才能让这个方法工作
- 承诺(后置条件):方法执行成功后,对象现在处于什么异常状态,有哪些返回值
- 异常:可能会发生什么问题,抛出什么样的异常。
注释工具:RDoc、javadoc、ndoc。可以直接从代码注释有用的、格式优美的文档。生成样式漂亮的、带有html超链接的输出。C#:通常的注释用//,输出文档的注释用///
Tips:重写方法时,保留描述原有方法意图和约束的注释。
动态评估取舍
过早的优化是万恶之源。