beprofessional-项目规范之道(二).pdfVIP

  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文档。上传文档
查看更多
Be Professional - 项目规范之道 (二) 编写整洁代码 Writing clean code requires the disciplined use of a myriad little techniques applied through a painstakingly acquired sense of cleanliness. This code-sense is the key. Some of us are born with it. Some of us have to fight to acquire it. Not only does it let us see whether code is good or bad, but it also shows us the strategy for applying our discipline to transform bad code into clean code. 1. 基本要求 Coding Style ,如果有要求,应该严格遵循,任何例外的情况需要讨论决定。 可读性,要容易理解,命名要具有足够描述性,不能有歧义,代码路径、结构要清 晰、简洁。 一致性, 包括但不限于标识符命名、 错误处理、 日志格式、 文件组织方式、 HTTP API 接口设计、 UI 交互等各个方面,越是一致的系统越容易上手,越容易维护,反之则 维护成本越高。 健壮性,进行必要的输入验证,充分得考虑边界情况,异常处理要周全,防止内存 泄露,防止竞态条件,多线程安全,等等。 性能,考虑数据量大或者访问频繁时的情况,对内存、数据库的使用要高效,算法 要尽量最优。 1. 任何涉及数量的地方, 在业务场景合理的前提下考虑把数量放大到最大, 为 最坏的情况做打算。 2. 数据库: 操作应尽量批量进行,只查询必需的字段,减少 IO 消耗。 特别大的查询应在数据库中分页,由程序控制分批次处理,全量取出在内存中计算 或者根本不考虑数据量大小是常见的低级错误。合理使用索引,例如尽量使用前缀 索引减少索引的数量 安全性,进行必要的权限检查,不能过度信任客户端输入。 DRY (Dont Repeat Yourself )原则,复制、粘贴的行为是要坚决禁止的,不知道 如何复用代码的要主动与其他成员讨论。 单一职责原则,一个类、文件或者模块不能做的太多,不能做不该它做的事,好的 设计是只把一件事做好。 开放、封闭原则,要方便扩展,要考虑到以后的需求。 代码改动方式要合适,不能一味得堆砌代码,需要适时停下来进行重构。 保持干净,不能存在任何无用的文件、代码,所有文档、注释需要同步更新,不能 包含注释掉的代码,不能包含临时调试代码,例外情况应该添加注释说明。 所有 Warning 都应该被立即修复,觉得不需要修的,讨论决定后通过修改配置文 件禁用掉。 2. 进阶要求 使用多态减少或转移 `if` 判断, /watch?v=4F72VULWFvcindex=1list=PL693EF D059797C21E 3. 提高代码可读性的技巧 局部变量尽量就近声明。 return early, Best Practices for Modern PHP Development-, How and Why to Avoid Excessive Nesting 在语言本身语法允许的情况下,将主流程放在文件上部,子流程按被调用顺序放在 文件下部,这样打开文件后可以比较快的抓住重点,比如: main = - doStuff1() doStuff2() doStuff3() doStuff1 = - console.log 1 d

文档评论(0)

明若晓溪 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档