【第22期】观点:IT 行业加班,到底有没有价值?

代码整洁之道(一)——初学笔记

原创 2015年11月19日 19:28:49

项目收尾阶段,自由时间相对充裕些,所以买了《代码整洁之道》等五本编程规范的书籍,边学习,边整理以前做过的代码,希望以后能不用反复整理,就能写出出色的项目代码。
以下是学习到的一些规范整理:
1.变量,函数等的命名要可读(英文拼写,驼峰式);一定不要用简单的字母,或者a1,a2这种,同时尽量不要用缩写;命名的详细程度(拼写)和它的作用域大小相对应;但是表述同样语境用词越少越好,精——简
2.同样是精——简,函数内容应当尽量简单明了,复杂的case判断,最好写成语句或函数赋予给一个bool标识符,加上少量注释,或者说标识符的拼写能够直接表达;函数内的if,while,else这些语句的缩进要尽量减少,不多于两层。
函数应该做一件事。做好这件事。只做这一件事!
3.写成只停留在一个抽象层级的函数
4.最理想的函数参数数量是零,其次是1或2,最好不要用三个以上的参数
5.函数和其参数最好形成明显的动车/名词对形式
6.this远比输出参数的方式要好,函数的参数最好只是输入参数,不然可读性差
7.拒绝使用返回错误标识,而是用抛出异常来表示;不在函数中直接使用try/catch,而是一个函数只有try/catch一个抽象功能,而后这个功能用一个函数描述,抛出这个异常。即函数只做一件事
8.别给糟糕的代码加注释,直接重写吧!,需要加过多的注释,本身就是一种失败,因为编程就是一种表达方式。注释如果跟不上程序的更新节奏,陈旧的注释可信度非常低
9.循环中的控制变量总是在循环语句中声明;实体变量总是在类的顶部声明。
10.相关函数:若某个函数调用了另一个函数,应该把它们放到一起(我更倾向于编程时思考每个功能,按抽象层级先构建函数声明和返回值,然后逐步完善内容,这样相关函数自然垂直距离更近)
11.德墨忒尔定律,模块不应了解他所操作对象的内部情形,即不要开火车(A.f().g().h()),避免一步错,步步错。类似A.b.c.d还可以。
12.别返回null值
13.API学习之道:*学习性测试*
14.整洁测试的要素:可读性,可读性,可读性!
15.测试步骤:构造——操作——检验
16.断言
17.整洁测试遵循的五条规则(FIRST):快速,独立,可重复,自足验证,及时。
18.自顶向下
19.

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

《代码整洁之道》学习笔记(二)

19.系统应该由许多短小的类组成,每个小类封装一个权责,只有一个修改原因。(SRP原则) 20.待续,看到十一章“系统”感觉后面开始吃力,自己还没用过,何谈整洁之道,暂时停止,以后跟进。

《代码整洁之道》读书笔记

《代码整洁之道》是Bob大叔神一样的作品,这本书从引言到附录都无比精彩,书中的插图也非常好,代码是用Java语言书写的,程序员尤其是Java程序员赶紧去阅读吧!

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

从插图看《代码整洁之道——程序员的职业素养》

和《代码整洁之道》一样,每章的开头的插图(以下简称“主题图”)都概括了该章的主题,同时因为本书每章前的引言都是Bob自传的一部分,所以主题图常常有Bob大叔,注意他的长相。每章的主题图也都隐藏了“KO...

代码整洁之道学习(一)

代码整洁之道 第一章 (代码整洁的重要性) 好的代码,要注意的是: 去除重复代码 提高表达力(达到让别人能够看懂,并且觉得,这段代码就是为了解决某个问题而生的) 第二章(有意义的命名)简单规则 ...

[代码整洁之道]-整洁代码

1.1要有代码代码是我们最终用来表达需求的语言,所以代码永存1.2糟糕的代码 糟糕的代码代价很大,足以毁掉一个公司。 稍后等于永不——现在时间太紧,先完成功能,有朝一日再回头清理,但事实是从来没有...

代码整洁之道内容概括

一个偶然的机会读了代码整洁之道,觉得这本书讲的很好就在网上找了一个pdf读了一下,并将里面觉得有道理的内容记录下来,作为自己以后写代码的标准和准则,并且建立起属于自己的代码风格。同时也为那些曾经困惑过...

《代码整洁之道》

2017-02-11 我对本书的看法就是:赞扬与批评并容。没有外界夸奖的那么好,也不差。 本书的优点: 年轻一代程序员之中,很大一部分是Web开发者,入门的语言就是Java/PHP,...

《代码整洁之道》总结和感想

花了三天时间将《代码整洁之道》的基础部分看了两遍,看完了这本书,感觉不是能力上的提升,而是思想上对整洁有个整体的把握以及一些保持整洁的小技巧。下面我先说下我对这本书的整体感觉。         我认...

代码整洁之道(读后感)

总论: 5S原则: 1.整理(Seiri):恰当的命名. 2.整顿(Seiton):物皆有其位,而后物尽其位.每段代码都有该在你希望它所在的地方.不在就要重构(?) 3.清楚(Seiso).无...

关注CSDN程序人生公众号,轻松获得下载积分

关注公众号 在公众号里回复“”秘密“”两个字 返回 http://task.csdn.net/m/task/home?task_id=398 领取奖励 提示:根据公众号里的自动回复,完成...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)