关于烂代码的那些事(中)

2015-08-07 10:03:12 +08:00
 axb
最近部门在组织bootcamp,正好我负责培训代码质量部分,在培训课程中让大家花了不少时间去讨论、改进、完善自己的代码。虽然刚毕业的同学对于代码质量都很用心,但最终呈现出来的质量仍然没能达到“十分优秀”的程度。 究其原因,主要是不了解好的代码“应该”是什么样的。

这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。
地址:
http://blog.2baxb.me/archives/1378

上一篇,关于烂代码产生的原因和现象:
http://blog.2baxb.me/archives/1343
3119 次点击
所在节点    程序员
4 条回复
Ahri
2015-08-07 10:15:01 +08:00
不错的文章,赞一个。
msg7086
2015-08-07 13:21:18 +08:00
最近正好到了要重构一大坨翔的日子……
skyshit
2015-08-07 21:45:23 +08:00
好文章!看的出楼主写这两篇文章都相当地用心。

在此也想聊聊自己对高质量代码的一点粗浅理解。

在阅读<clean code>一书的过程中让我印象最深刻的是作者对代码和报纸的比喻。

当我们读报纸文章的时候,在最顶端我们希望有一个标题告诉我们这篇文章要描述的是什么内容,让我们能快速决定这是否是我们想要阅读的内容。然后第一段告诉我们整篇文章的大纲,然后继续阅读下去时是各个大纲中的细节,而且在不断深入的过程中细节越来越详细。

好的代码遵循抽象级别分层原则,相同抽象级别的代码组织在一起,低抽象级别的代码组织成更高抽象级别的代码,让读代码就像读报纸一样。

代码抽象分层让程序员能快速确认哪一部分代码的作用是什么,在运维和修改代码的过程中最怕的是看不懂某一段代码的意图是什么。代码抽象的分层让代码更易阅读,对于测试能根据不同的抽象层次编写具有针对性的测试用例,对于运维能快速定位到问题出在哪一部分代码。

我认为,代码的抽象在实践中就是封装的过程,只是在以前我一直不知道封装有层次的划分,写代码时总是有一种在瞎写的感觉。
hackwjfz
2015-08-08 00:24:09 +08:00
感谢。
正好最近处于一个关键时期,学习了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/211415

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX