《CleanCode》第一章

《Clean Code》第一章

1.1 要有代码

要关注模型和需求,也要关注代码。

代码呈现了需求的细节。编程,就是将需求明确到机器可以执行的细节程度。

我们造不出能满足客户模糊需求的系统:需求规约原则告诉我们,规制良好的需求就像代码一样正式。

代码是我们最终用来表达需求的语言。

1.2 糟糕的代码

糟糕的代码能让项目毁灭。赶进度出产品,特性越加越多,代码越改越乱,最终导致没法管理代码。最终导致发布周期变长、崩溃率增高、加载时间过久

勒布朗定律:稍后等于永不。

就是说,Later 的 Bug 基本不会改。。。

1.3 混乱的代价

随着混乱的增加,每次改一点代码,都得影响其他两三处。每次加一点代码,必须对现有的一堆代码非常了解。也就是说,混乱的增加会降低团队的生产力。而这种降低,只通过加人可能并不能有太明显的改观。因为新人不熟悉系统,可能会带来更大的混乱。

新人可能搞不清楚,什么样的修改符合设计意图,什么样的修改违背设计意图。

(所以 Code Review 是非常重要的)

1.3.1 华丽新设计

老系统陈旧。于是一堆开发者献策,要推翻重做。但是新系统必须得实现之前老系统的所有功能,所以会导致周期非常长。

1.3.2 态度

程序员遵从不了解混乱风险的经历的意愿,也是不专业的做法。

1.3.3 谜题

制造混乱并不能让你赶上工期。

赶上工期的唯一办法,就是尽可能保持代码整洁。

1.3.5 什么是整洁的代码

尽量减少依赖关系

分层

整洁的代码只做好一个事情。

整洁的代码犹如优美的散文。

整洁的代码从不隐藏设计者的意图,充满了干净利落和直接了当的控制语句。

整洁的代码可以由作者之外的开发者阅读和增补。可读性,可改性。

做一个事情,只提供一种途径。

函数越小越好。

字面编程:Literate Programming。用人类可读的方式来写代码。

整洁的代码是作者着力着凉的代码。在意。

同一段代码如果反复出现,代表某种想法并没有在代码中得到良好的表现。

消除重复和提高表达力。

对于一个明确、通用、有多种实现方式的功能,可以面向接口。这样可以先用简单的方式实现,同时可以为未来的修改留下余地。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容

  • 当知道不需要重写声明时,对属性和方法使用final。 这允许编译器用直接调用替换动态派发调用。甚至可以通过将属性附...
    影痕残碎阅读 615评论 0 2
  • 什么是整洁代码? 经验丰富的程序员: Bjarne Stroustrup: 我喜欢优雅和高效的代码,代码逻辑应当直...
    Dl_毛良伟阅读 364评论 0 3
  • 1.3.5 什么是优雅代码 代码逻辑直截了当 ,叫缺陷难以隐藏; 尽量减少依赖关系,使代码易于维护; 依据某种分层...
    oliversmallgan阅读 194评论 0 0
  • 整洁的代码态度; 什么是整洁的代码优雅和高效的代码,代码逻辑应当直接了当,叫缺陷难以隐藏,尽量减少依赖关系,使之便...
    Severn阅读 237评论 0 2
  • 黑色的海岛上悬着一轮又大又圆的明月,毫不嫌弃地把温柔的月色照在这寸草不生的小岛上。一个少年白衣白发,悠闲自如地倚坐...
    小水Vivian阅读 3,108评论 1 5