论代码稳定

转载理由阿朱写的这篇文章,把我以前思考的不少问题,都有总结。从此有机会再实践。目前人微言轻额!只能管好本身!前端


我经历了不一样公司、不一样软件研发团队,但发现犯的错误都很类似,因此总结一份,便于你们自行建设本身的团队。程序员


对于互联网公司,反正代码Owner权/服务器Owner权都在本身手上,因此无须惧怕代码稳定非要强控代码稳定,只要能作到及时发现BUG(日志与监控的重要性)、每天上线更新便可。数据库


1、开发leader的职责明肯定位安全

一、技术设计:技术选型、跨系统接口设计、公共基础代码识别/设计/开发/维护、核心复杂代码实现方案设计/实现/维护、疑难BUG分析诊断、代码模块重构梳理分析设计服务器


二、提升生产率:自动化工具研发与推广、代码模板研发与推广框架


三、开发任务管理:开发工做量评估、开发任务分配运维


四、质量保证:性能/集成/安全性/可扩展/代码可维护/程序可运维方面的CodeReview、开发风险识别/报告/解决函数


五、团队能力提高:新人指导、领导复盘总结/分享交流、最佳实践总结与推广工具


开发Leader的职责定位若是不明确,很容易变成没有技术主控能力的虚胖的管理者,或者很容易变成与其余程序员争工做的高级程序员。因此明确好开发Leader的职责,按照职责寻找好开发Leader,发挥好开发Leader的做用,整个团队的研发质量就能有很大的保证。性能


2、业务知识完整吸取

一、跨系统业务跟上:全程业务链条知识学习,尤为是跨系统之间的业务衔接

二、新人专业能力跟上:开发Leader做用发挥、师傅制做用发挥


不少BUG是开发团队对业务细节扭曲理解/细节遗漏

不少BUG是新人对平常工做规范、经常使用技术最佳实践手法、业务知识/产品代码/平台/框架/工具不熟悉,日积月累致使。开发Leader也没有作严格而勤奋的CodeReview,功能从外面看实现了但其实内在代码一塌糊涂


3、技术知识完整吸取

一、平台/框架/工具知识吸取

二、通用技术知识吸取:前端知识、数据库知识


不少BUG是开发团队对技术不熟悉而错误使用技术致使


我为了让应用系统研发团队熟悉了解平台,搞了不少措施:

WIKI:平台使用文档、平台经常使用场景代码Demo、平台研发人员撰写平台使用最佳实践

固定每个月交流会:应用系统研发团队的Leader和平台研发团队Leader每个月对接,谈平台的需求、平台的问题、平台知识的普及

开放对接人:开放平台每一个核心组件的主要联系人,便于应用系统研发团队人员出现紧急问题时可以直接联系到具体平台开发人


4、代码知识完整吸取

一、代码流程梳理:函数调用关系

二、接口关联性:URL层、JS函数层、逻辑层、数据库层(JOB/SP/VIEW/Trigger)

三、在多层多模块间的多入口多出口的分析遗漏/修改遗漏/修改不一致


不少BUG是开发团队不断人来人往致使对历史代码没有全盘熟悉致使


因此,开发团队人员稳定,开发团队负责的系统/客户方稳定,很关键

平常,须要固定的学习时间,开发Leader来带着你们学习代码流程、接口关联性影响。


我过去规定过一个月有2次完整的一下午学习时间,这两个一下午不能安排项目任务,作项目计划时就要跳过不能算。并且在Leader/总监的考核方面,也对他们有最佳实践总结与推广/部门学习的指标,这就是组织能力建设的KPI。


5、编码最佳实践工做规范跟上

一、函数设计最佳实践、模块/系统接口设计最佳实践、先后台解耦最佳实践

二、提升程序性能的编码最佳实践

三、提升程序安全性的编码最佳实践

四、提供程序可运维的编码最佳实践


这都须要开发Leader来从CodeReview、复盘总结、BUG诊断分析中平常梳理总结,这也会影响框架设计、代码模板设计、接口设计、自动化工具研发、重构分析梳理。


6、开发过程最佳实践工做规范跟上

一、代码check in注意事项

二、Bug修改注意事项

三、补丁修补升级注意事项

四、跟踪调试注意事项


这都须要开发Leader平常梳理总结并推广执行应用。


原文连接:http://mp.weixin.qq.com/s?src=3&timestamp=1467688862&ver=1&signature=eKJUXV9spI*Q2DDb*3D0Lby4k6A3Yfx5j7RhXhQWWwYYkIZARpOXaRZKWmauW8M3VNQeb0OUndX6BxnstBPyP*546KIKzl*IlzOwy29R9N5dcpm7ancuiGw00lOX22AvYficTUc-3acN8352WTSOrA==

相关文章
相关标签/搜索