编写可读性代码
思想篇:
代码写法 应该能让别人花最少时间去理解
站在读者的角度,去想象他们需要知道什么
了解什么不需要注释
用代码记录你的思想
当你对代码做改动时,从全新角度审视它,把它作为一个整体来看待
让变量尽量少的代码可见,操作一个变量越多 越难知道它当前的值
一次只做一件事
一、 命名:相当小小的注释(把注释注入到名字中)
a) 选择专业的词 如:get(), size() 不清楚 这方法到底表达什么 , 如:getPages() 就ok。 如:i、j、k mi,cj,vk
b) 用具体名字代替抽象名字 ServerCanStart() CanListenOnPort()
c) 命名技巧: 小作用域可用短命名,就像度假和长假,你所带的行李衣物多少
i. 缩略、 如: string str = “”;
ii. 格式、
iii. 毫秒变量、_ms
d) 有歧义的名字: 多问自己几遍,这个名字会被别人解读成其他含义吗?
i. 如: Truncate(text,max_chars). 多用first/last max/min b表示范围
ii. 表示布尔的变量: is, has, can ,should ,need,use
二、 审美(好的代码看上去应当是养眼)
a) 表达式拆分
b) 变量的作用:
i. 拆分复杂的表达式
ii. 对复杂的逻辑澄清
iii. 使用多次
三、 一次只做一件事
a) 步骤: 1. 准确描述你的函数所做的事情 2. 拆分事情成“小事”,列出所有任务 3. 写成一个个小函数
b)
思想篇:
代码写法 应该能让别人花最少时间去理解
站在读者的角度,去想象他们需要知道什么
了解什么不需要注释
用代码记录你的思想
当你对代码做改动时,从全新角度审视它,把它作为一个整体来看待
让变量尽量少的代码可见,操作一个变量越多 越难知道它当前的值
一次只做一件事
一、 命名:相当小小的注释(把注释注入到名字中)
a) 选择专业的词 如:get(), size() 不清楚 这方法到底表达什么 , 如:getPages() 就ok。 如:i、j、k mi,cj,vk
b) 用具体名字代替抽象名字 ServerCanStart() CanListenOnPort()
c) 命名技巧: 小作用域可用短命名,就像度假和长假,你所带的行李衣物多少
i. 缩略、 如: string str = “”;
ii. 格式、
iii. 毫秒变量、_ms
d) 有歧义的名字: 多问自己几遍,这个名字会被别人解读成其他含义吗?
i. 如: Truncate(text,max_chars). 多用first/last max/min b表示范围
ii. 表示布尔的变量: is, has, can ,should ,need,use
二、 审美(好的代码看上去应当是养眼)
a) 表达式拆分
b) 变量的作用:
i. 拆分复杂的表达式
ii. 对复杂的逻辑澄清
iii. 使用多次
三、 一次只做一件事
a) 步骤: 1. 准确描述你的函数所做的事情 2. 拆分事情成“小事”,列出所有任务 3. 写成一个个小函数
b)