前言

《PHP 开发手册》是herosPHP团队的集体经验总结,经历了多次大规模一线实战的检验及不断的完善,反馈给广大开发者。现代软件行业的高速发展对于开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险;工程结构混乱导致维护困难;没有鉴权的漏洞代码被黑客攻击等等。所以本手册以 php 开发者为中心视角,划分为编程规约、异常日志规约、MySQL 规约、工程规约、安全规约五大块,再根据内容特征,细分成若干二级子目录。

根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。

  • 强制:要求所有软件开发人员必须严格执行;
  • 推荐:各项目编程人员在开发的过程中尽量执行。
  • 参考:各项目编程人员可以根据实际情况选择执行。

对于 规约条目的延伸信息中,“说明”对内容做了引申和解释;“正例”提倡什么样的编码和实现方式; “反例“说明哪些雷区是我们要极力避免的,以及真实的错误案例。

本文档的编写基于我们自身的开发经验与前人的开发经验。我们支持创新,尊重代码的多样性,尊重个人的开发风格。 我们希望本文档为你带来更多的是便利与提高而非制约。我们相信,阅读后你会更快更易的融入到我们的项目中来。 当然也要求你按此规范继续开发(维护)我们的项目,以保证项目开发的连贯性与持续性。

本手册的愿景是码出高效、码出质量。代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识。 另外,现代软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规矩不成方圆,无规范不能协作。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率。

开发总则:

  1. 代码虽然是给机器看的,但更是给人看的。保持代码的简明清晰,避免过分的编程技巧。简单是最美。 保持代码的简单化是软件工程化的基本要求。不要过分追求技巧,否则会降低程序的可读性。
  2. 首先达到正确性,其次考虑效率。效率可两讲“开发效率”和“运行效率”
  3. 求稳不求快。开发时请先动脑再动手,对问题要能前瞻性与发散性的思考。 把问题想清楚再放开拳脚去干。 不断出问题的代码往往会影响团队的效率和 士气,甚至会影响到决策层制定决策。但是,如果你缺乏经验,缺乏对问题分析和判断的能力, 请加强与同事间的交流与探讨,因为只有这样你才能获得你想要的答案。
  4. 在考虑程序的运行效率和资源占用前应优先考虑正确性、健壮性、可维护性、可移植性等质量因素。毕竟现在的人力 成本要比机器成本要昂贵的多,性能的问题可以通过软硬件的架构去解决,因为效率而增加维护成本是不值得的。</span>
  5. 保持一致性。学会参考前人的代码,尝试与其保持相同风格。在保证可读性良好的前提下你可以提出自己的风格,但尽可能多的使用相同的规则。
  6. 学会复用代码。复用代码一方面能提高开发效率,另外也可以进一步加强复用代码的健壮性。
  7. 学会归纳和总结错误。我们无法避免错误,但是我们要敢于面对错误,善于解决错误。让同一个错误尽量少出现,甚至不出现。

参考文献

  1. 《代码大全》第二版,史蒂夫•迈克康奈尔 (Steve McConnell)
  2. 《重构-改善既有代码的设计》马丁·福勒 (Martin Fowler)
  3. 《阿里巴巴Java开发手册》
© Monda 2017 all right reserved,powered by Gitbook最后更新时间: 2017-08-07 22:07:55

results matching ""

    No results matching ""