0.规则<The Elements of Programming Style><The Elements of Style> 1.假想的编译程序(1)使用编译器提供的所有的可选警告设施 增强类型静态检查的能力eg: void* memchr(const void* str, int ch, int size);那个调用该函数时,即使互换其字符ch和大小size参数,编译器也不会发出警告 但是如果在函数原型中使用更加精确的类型,就可以增强原型提供的错误检查能力void* memchr…
元类(metaclass)及动态属性(dynamic attribute)都是很强大的Python特性,然后他们也可能导致及其古怪.及其突然的行为.本节讲解这些机制的常见用法,以确保各位程序员写出来的代码符合最小惊讶原则(rule of least surprise). 第二十九条:用纯属性取代get和set方法 第三十条: 考虑用@property来代替属性重构 第三十一条:用描述符来改写需要复用的@property方法 第三十二条:用__getattr__.__getattribute__和…
2014-05-16 09:08 by Jeff Li 前言 系列文章:[传送门] 下个星期度过这几天的奋战,会抓紧java的进阶学习.听过一句话,大哥说过,你一个月前的代码去看下,慘不忍睹是吧.确实,人和代码一样都在成长,都在变好其中.有时候仅仅是实现功能的编程,长进不了呀. 博客提供的优点就能够交流,讨论的学习方法你们应该知道. 在这里,我会陆陆续续的进行对<编写高质量代码改善java程序的151个建议>看法,希望大家点击交流. 正文 看这本书原因 1.项目做的仅仅是实现功能,然而没有…