说明

这是一套严格的团队开发规范,是爱老牛团队内部 Laravel 工程师践行的开发规范。我们崇尚开放和透明的工程师文化,所以我们尽可能把信息公开。希望这些信息可以为他人参考和借鉴,发挥最大的价值。

目的

爱老牛科技是一家崇尚远程协作的软件外包公司,工程师来自全球各地,规范化让我们的工程师训练有素,以此来提供更加高质量的软件交付。另一方面,我们也希望整个团队的项目经验能够得到继承,在每一次实战中不断进行总结和摸索,找到兼备开发效率、程序执行效率、扩展性和安全性的最佳实践,最终实现团体智慧的延续和精进。

优势

规范有以下优点:

  • 高效编码 - 避免了过多的选择造成的「决策时间」浪费;
  • 风格统一 - 最大程度统一了开发团队成员代码书写风格和思路,代码阅读起来如出一辙;
  • 减少错误 - 减小初级工程师的犯错几率。

开发哲学

因为篇幅原因本规范无法涉及到项目里每一块代码的编写标准,所以此处重点说明下此规范遵循的「开发哲学」,开发中请把其当做指明灯,来指引您做决策:

  • DRY -「Don't Repeat Yourself」不写重复的逻辑代码;
  • 约定俗成 -「Convention Over Configuration」,优先选择框架提倡的做法,不过度配置;
  • KISS -「Keep it Simple, Stupid」提倡简单易读的代码,不写高深、晦涩难懂的代码,不过度设计
  • 主厨精选 - 让有经验的人来为您选择方案,不独创方案;
  • 官方提倡 - 优先选择官方推崇的方案。

设计理念

以下是一些优秀的「程序设计理念」:

  • MVC - Model,View,Controller,以 MVC 为核心,严格控制 Controller 的可读性和代码行数;
  • Restful - 利用「资源化概念」和标准的 HTTP 动词来组织您的程序。

在此规范中,我们会将使用这两套理念作为程序设计基础。这些设计理念为我们设计程序提供了依据,遵循这些理念,能让程序变得清晰易读。