你是合格的程序员吗?(欢迎大家自测)
转载自阿朱大哥。欢迎大家自测。
一、自身代码编写能力
1、快速业务理解能力:他能快速准确理解产品设计人员的设计意图
2、代码符合业务设计/周全设计能力:他能快速编码完成任务,而且高度符合产品设计,并且还能弥补产品设计文档遗漏描述的不周全的点
3、代码稳定性和性能能力:他能快速完成的代码,临界场景考虑周全/代码稳定BUG少,性能高(并发、大数据量)
4、代码结构化能力:他的代码思路清晰,明显能看出流程、函数,层次封装良好
5、函数编写能力:他的函数有明确的输入、返回值、错误值、输入参数校验、异常保护、明确报错、报错详细、并发线程控制、数据库连接安全释放、事务安全控制
6、代码易修补能力:他的代码出现了BUG,别人即使不用大幅度去阅读代码理解代码,也能很容易重现问题或跟踪问题并且修补该问题
二、阅读、跟踪、修改别人代码能力
7、他能快速阅读理解别人的代码,快速定位问题,快速清理出复杂关系牵连和流程
8、他能够快速重构代码做到等价,并且容易进行测试确认
9、他能快速解决问题,解决周全,不留尾巴隐患或引出新的BUG
10、他能够代码审查别人的代码,指出代码隐患、不周全、不规范、不稳定、性能欠佳、不易扩展不易理解的的地方
三、代码架构设计能力
11、模块之间接口提炼能力:他的代码接口提炼合理,能够稳定,不会因为客户项目定制而频繁变动
12、代码扩展能力:他的代码好做客户个性化定制扩展,只需要阅读最小代码范围,只改动最小代码范围,只影响这一块不牵一发而动全身
13、复用代码设计与编写能力:他的代码模块很通用,非常容易移植使用
四、技术验证/技术攻关能力
14、他做技术验证,能够快速的给出周全的、数据依据、严谨的验证结果,并且还能给出现实可行的解决方案,并且还能指出每种备选方案的优点缺点
15、技术攻关:能够快速查找、定位客户环境的疑难杂症进行攻关解决
五、团队开发技能促进能力
16、他能够平时多开发一些:代码审查工具、性能检查工具、代码框架、复用代码/公共代码,推广到整个团队
17、他能够把平时学习和培训中获得的新分析方法、新设计方法、新开发方法、新测试方法引入到自身的开发编码当中,并且能够普及推广给整个团队。他能够很积极把平时遇到的编码技巧很及时的添加到咱们的编程指引当中。
如果你是资深开发人员,你需要把这五个方面都能胜任。
如果你是高级开发人员,你可能在团队开发技能促进能力方面有所欠缺,不过你在做好自己的同时,你还能很快速搞定别人的代码,而且平时做技术验证、技术紧急攻关也让经理放心.
如果你是中级开发人员,你在技术验证、技术攻关上会有欠缺,但你可以很好的胜任阅读、跟踪、修改别人代码。
如果你是初级开发人员,你在阅读、跟踪、修改别人代码方面会有欠缺,所以只能安心努力照顾好自己的代码。
但是,我们每个人都想一想自己,看看自己在初级开发人员的基本功上能达到几点?