yyqng

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  代码可读性

摘要:1. 使测试易于阅读和维护 测试代码的可读性和被测试代码同样重要。很多程序员会把测试代码看做非正式文档,它记录了代码如何工作及如何使用。 当测试代码多得让人望而却步,程序员不敢修改真实代码,不会再增加新的测试。从而对测试代码丧失信心。 2. 有问题的测试代码示例,后面要一一对它们进行修改。 1 vo 阅读全文
posted @ 2021-01-16 18:17 zziii 阅读(190) 评论(0) 推荐(0)

摘要:最好读的代码就是没有代码 1. 别费神实现那个功能--你不会需要它 程序员倾向于高估有多少功能对项目来讲是必不可少的。 程序员还倾向于低估实现一个功能所要花费的功夫。 2. 质疑和拆分你的需求 不是所有的程序都要求运行得快,100%准确,并且能处理所有的输入。 如果把需求削减成一个简单的问题,那么也 阅读全文
posted @ 2021-01-16 16:46 zziii 阅读(75) 评论(0) 推荐(0)

摘要:代码应当用“自然语言”编写 1. 清楚地描述逻辑 1 $is_admin = is_admin_request(); 2 if ($document) { 3 if (!$is_admin && ($document['username'] != $_SESSION['username'])) { 阅读全文
posted @ 2021-01-16 16:35 zziii 阅读(238) 评论(0) 推荐(0)

摘要:应该把代码组织得一次只做一件事,任务可以很小 vote_changed(old_vote, new_vote); // each vote is "Up", "Down", or "" var vote_changed = function (old_vote, new_vote) { var sc 阅读全文
posted @ 2021-01-16 16:21 zziii 阅读(108) 评论(0) 推荐(0)

摘要:所谓工程学就是把大问题拆成小问题,再把这些问题的解决方案放回一起。把这条原则应用于代码会使代码更健壮且更易读。 本章建议是:积极发现并抽取出不相关的子逻辑。 1. 纯工具代码 1 //C++中没有一个库函数读取整个文件,所以不可避免地要写以下的代码: 2 ifstream file(file_nam 阅读全文
posted @ 2021-01-12 23:12 zziii 阅读(117) 评论(0) 推荐(0)

摘要:变量的草率运用会让代码更难理解 1. 减少变量 1)没有价值的临时变量 1 now = datetime.datetime.now() 2 root_message.last_view_time = now 3 4 #上面的 now 没有拆分复杂的表达式;没有更多的澄清;只用了一次。因此是冗余的。 阅读全文
posted @ 2021-01-04 18:36 zziii 阅读(152) 评论(0) 推荐(0)

摘要:代码中的表达式越长,它就越难理解。本章看看各种操作和拆分代码以使它们更容易理解的方法。 1. 用做解释的变量 if line.split(':')[0].strip() == "root": -- username 为解释变量 username = line.split(':')[0].strip( 阅读全文
posted @ 2021-01-04 18:06 zziii 阅读(116) 评论(0) 推荐(0)

摘要:1. 条件语句中参数的顺序 左边更倾向于使用变化的,右边更倾向于使用稳定的。 1 if (length >= 10) 2 // or 3 if (10 <= length) 4 5 while (bytes_received < bytes_expected) 6 //or 7 while (byt 阅读全文
posted @ 2021-01-03 23:37 zziii 阅读(122) 评论(0) 推荐(0)

摘要:1. 让注释保持紧凑 1 //反面示例 2 // The int is the CategoryType. 3 // The first float in the inner pair is the 'score', 4 // the second is the 'weight'. 5 typede 阅读全文
posted @ 2021-01-03 22:44 zziii 阅读(101) 评论(0) 推荐(0)

摘要:1. 什么样的注释是不需要的 下面的例子中的全部注释没有提供任何新的信息,所以没有价值。 不要为能从代码中快速推断的事实写注释。 1 // The class definition for Account 2 class Account { 3 public: 4 // Constructor 5 阅读全文
posted @ 2020-12-31 17:05 zziii 阅读(130) 评论(0) 推荐(0)

摘要:1. 为什么审美这么重要? 让人愉悦的代码更易读,因此更容易使用。 2. 重新安排换行来保持一致和紧凑 下面的代码有着优雅一致的风格,并且很容易从头看到尾快速浏览。 但是缺憾在于用了更多的纵向空间,并且注释重复了三遍。 1 public class PerformanceTester { 2 pub 阅读全文
posted @ 2020-12-31 12:10 zziii 阅读(110) 评论(0) 推荐(0)

摘要:1. Filter(condition) "filter"是个二义性单词,应避免使用。因为不清楚是应该满足condition,还是应该不满足condition,容易引起误解。 2. Clip(text, length) Clip(text, length) //易产生歧义,不知道是保留前半部分还是后 阅读全文
posted @ 2020-12-31 11:39 zziii 阅读(113) 评论(0) 推荐(0)

摘要:1.选择专业的词 GetPage(url) 应改为 FetchPage(url) or DownloadPage(url) BinaryTree::Size() 应改为 BinaryTree::Height() , BinaryTree::NumNodes() , or BinaryTree::Me 阅读全文
posted @ 2020-10-28 23:42 zziii 阅读(139) 评论(0) 推荐(0)

摘要:此随笔由《编写可读代码的艺术》中抽取的主要思想及示例代码集合而成。 阅读全文
posted @ 2020-10-28 22:47 zziii 阅读(145) 评论(0) 推荐(0)