A Theory of programming -- Values , principle & pattern
一、编程的三个观念(Value):
首先是 communication,从个人的经验来看写代码的时候想着只是给自己看代码质量往往会很差,但在写代码的同时就随时告诉自己代码是写给别人看的,或者是未来的自己,这样的代码总会比前者好。同时注意命名和逻辑,这样写出来的代码基本上不需要写太多的注释就能让人看明白,因此要随时保持清醒的意思代码是写给别人看的。
其次是simplicity , 简洁&简单。它其实是一个相对主观的概念,但一定要提醒自己要让你的“读者”感觉看起来比较轻松。就像作者说到的 Challenging your audience a little is fine, but too much complexity will lose them.
最后是Flexibility,灵活性。Flexibility is the justification used for the most ineffective coding and design practices ,作者认为灵活性是一些看似不那么有效率的代码和设计实践的根源。有时候灵活性与简洁是矛盾的,因此programmer应该去权衡,是否需要应对将来的变化。在大部分情况下增强代码的灵活性是值得的,同时也能提高代码的可读性更好的communication。
二、原则 principles
原则比观念更加具体,是pattern的基础。
1. Local Consequences (作用在局部)
这个原则其实比较好理解,就是让你的方法、类等的影响尽量控制在局部,在修改或者变化的时候不会牵一发而动全身。
2. Minimize Repetition (最小化重复)
Duplication isn’t evil, it just raises the cost of making changes. 减少重复的有效方法就是将代码变成小块,变成更小的方法,更小的类,对象等等。
3.Logic and Data Together (逻辑和数据相伴)
将数据和操作他的逻辑放在一起,如果可能尽量放到一个方法,一个对象或者类中。这对于C程序猿来说真是一个思想上的挑战,哇哈哈~
(To be continued)