发表日期:2017-12-13 17:19:49文章编辑:025app.com 标签:公司新闻
个人有些浅薄的经验分享下如何做到编码编出优美的feel,需遵从如下约束,排名分先后:命名很重要,随便一本逻辑学教材(如果读者有兴趣,此处推荐《逻辑学导论》)里都会有长篇大论来讨论命名的问题,我国古代在人才辈出的百家争鸣时期曾经出现过一个学派叫“名家”,专门讨论命名的问题,比如著名的“白马非马”、“离坚白”等,有空读读还是挺有趣的,比玩王者荣耀还有趣。笔者认为我国到目前为止出现了三个思想大解放时期:一,春秋战国时期的百家争鸣,可惜被秦皇的郡县制大一统所终结;二,民国时期,西方思想初涌,国人似惊雷轰顶,如梦方醒;三,当下,技术革命使得中央思想控制力度急剧下降,使得底层人民有了选择被谁控制思想的自由(请参考如今基于互联网的粉丝文化,圈子文化)。所以大家一定要好好写代码,才不负少年头呀。
回归主题,命名应该本着不怕长就怕不清楚的原则,尽量把一个类、方法、变量的含义交代清楚,实际上笔者比较喜欢OC的方法(消息)命名规则
接口的命名一般都是前缀 I 加上名词或形容词,实际上.Net Framewrok类库就是这样做的,接口往往用来分装一个或一组行为,实现接口的类意味着它具有了一个或一组行为的能力,所有常用形容词。当实在找不到一个恰当的形容词时,名词也可以。
使用动词或动词性短语。
以上。笔者觉得其它的字段啊、属性啊、事件啊出现命名问题的比较少,不再讨论。比如有的人喜欢字段用下划线开头,有的人喜欢用m_开头,都无关紧要,求同存异,只要使用的词语恰当,并不会带来太多麻烦。反倒是如果规定一个巨细无比的规范才有问题,一是耗费编撰者的时间,二是阅读者也记不住,三是阅读者记住了也可能因为和自己的习惯不同而心存抵触。
此外需强调一点就是少用拼音多用英文,少用缩写多用全称,尽量不用拼音缩写,甚至是方言拼音缩写,还有英语加拼音,甚至是英语加拼音缩写......。但也不能排除个别如“计划生育”这样的不好翻译的词语可以用拼音,需注释明确或维护词汇表。另外,缩写也不是不可以用,一些大家约定成俗的缩写比如“Id”,使用之并不会带来误解,还有利于代码的清晰度。
面向对象语言的三大特征人人都知道,但是真的用好却是不容易,三大特征仅仅是面向对象设计的基础,在此基础上建立起了面向对象的高楼大厦。笔者工作多年,常感叹虚度年华,至今尚未精通面向对象设计之十之五六。笔者想极力推荐一本书:《Head First 设计模式》,此书乃Head First系列成名之作。
必须要注意的是:不要乱用设计模式,只有需求产生了变化,或预见了需求将要发生变化才使用这些模式来封装发生的或可能发生的变化。有时候再重构代码时也会用到,比如外观模式和设配器模式等。
Big projects must not be completed by one person. People are more prone to disorder. At this time, team leaders need to be brave enough to undertake the responsibility of the insurrection, including but not limited to:
There is a lot more to say about documents: only write documents only when it is necessary to write documents very much. If a large pile of documents can be written, the document will be updated in time after the code is updated, and it is difficult to do it. A newcomer is faced with a bunch of documents that are out of line with code. It will only lead to misleading effect, mainly based on the expressive force of the code itself and oral communication, and the two sides must grasp both hands, with one hand hard and one hand soft.