编写可读代码的艺术-代码应易于理解二.pptxVIP

编写可读代码的艺术-代码应易于理解二.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

代码应当易于理解

名字应该有多长

当选择好名字时,有一个隐含的约束是名字不能太长。没人喜欢在工作中遇到这样的标识符newNavigationControllerWrappingViewControllerForDataSourceOfClass名字越长越难记有时候我们也可能走另一个极端,只用单个单词或者单一字母的名字。010302

在小的作用域里面可以使用短的名字当你去短期度假时,你带的行李通常会比长假少。同样,作用域小的标识符也不用带上太多信息。也就是说,因为所有的信息都很容易看到,所以可以用很短的名字。If(debug){mapString,intm;LookUpNamesNumbers(m);Print(m);}尽管m这个名字并没有包含很多信息,但这个不是个问题。因为我们已经有了需要理解这段代码的所有信息。

然而,假设m是一个全局变量中的类成员,如果你看到这个代码片段:LookUpNamesNumbers(m);Print(m);这段代码就没有那么好读了,因为m的类型和目的都不明确。因此如果一个标识符有较大的作用域,那么他的名字就要包含足够的信息以便含义更清楚。

程序员有时会采用首字母缩略词和缩写来命名,以便保持较短的名字,例如,把一个类命名为BEManager而不是BackEndManager。这种名字会让人费解。在我们的经验中,使用项目所特有的缩写词非常糟糕。对于项目的新成员来讲他们看上去太令人费解和陌生,所以经验原则是:团队的新成员是否能理解这个名字的含义?如果能,那可能就没有问题。例如,对于程序员来讲,使用doc来代替document,用str来代替string是相当普遍的。首字母缩略词和缩写

丢掉没用的词有时名字中的某些单词可以拿掉而不会损失任何信息。例如ConvertToString()就不如ToString()这个更短的名字。

不会误解的名字

关键思想要多问自己几遍:“这个名字会被别人解读成其他的含义吗?”要仔细审视这个名字。

假设你在写一段操作数据库结果的代码:结果现在包含哪些信息?年份小于或等于2011的对象?年份不小于或等于2011年的对象?results=Database.all_object.filter(“year=2011”);这里的问题是“filter”是个二义性单词。我们不清楚他的含义到底是“挑出”还是“减掉”。最好避免使用“filter”这个名字,因为它太容易误解。例子:Filter()

Booleanread_password=true;这会有两种截然不同的解释我们需要读取密码已经读取了密码最好避免用“read”这个词,用need_password或者user_is_authenticated这样的名字来代替给布尔值命名

审美

01使用一致的布局,让读者很快就习惯这种风格02让相似的代码看上去相似03把相关的代码行分组,形成代码块三条原则

例子二

例子三

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档