说明
这是一套严格的团队开发规范,是爱老牛团队内部 Laravel 工程师践行的开发规范。我们崇尚开放和透明的工程师文化,所以我们尽可能把信息公开。希望这些信息可以为他人参考和借鉴,发挥最大的价值。
目的
爱老牛科技是一家崇尚远程协作的软件外包公司,工程师来自全球各地,规范化让我们的工程师训练有素,以此来提供更加高质量的软件交付。另一方面,我们也希望整个团队的项目经验能够得到继承,在每一次实战中不断进行总结和摸索,找到兼备开发效率、程序执行效率、扩展性和安全性的最佳实践,最终实现团体智慧的延续和精进。
优势
规范有以下优点:
- 高效编码 - 避免了过多的选择造成的「决策时间」浪费;
- 风格统一 - 最大程度统一了开发团队成员代码书写风格和思路,代码阅读起来如出一辙;
- 减少错误 - 减小初级工程师的犯错几率。
开发哲学
因为篇幅原因本规范无法涉及到项目里每一块代码的编写标准,所以此处重点说明下此规范遵循的「开发哲学」,开发中请把其当做指明灯,来指引您做决策:
- DRY -「Don't Repeat Yourself」不写重复的逻辑代码;
- 约定俗成 -「Convention Over Configuration」,优先选择框架提倡的做法,不过度配置;
- KISS -「Keep it Simple, Stupid」提倡简单易读的代码,不写高深、晦涩难懂的代码,不过度设计;
- 主厨精选 - 让有经验的人来为您选择方案,不独创方案;
- 官方提倡 - 优先选择官方推崇的方案。
设计理念
以下是一些优秀的「程序设计理念」:
- MVC - Model,View,Controller,以 MVC 为核心,严格控制 Controller 的可读性和代码行数;
- Restful - 利用「资源化概念」和标准的 HTTP 动词来组织您的程序。
在此规范中,我们会将使用这两套理念作为程序设计基础。这些设计理念为我们设计程序提供了依据,遵循这些理念,能让程序变得清晰易读。