一个新人需要具备什么条件才能熟练上手开发呢?
1、深刻理解业务
2、深刻理解现有代码实现
3、深刻理解现有表结构含义、表关系、关键状态字段含义;各个SP的功能;各个VIEW的作用;
4、深刻理解现有统计报表、查询报表、查询Gird的取数关系、取数条件
以上这些都需要我们沉淀知识。
但这些知识也非一天一日就能沉淀出来的,在现有知识无法快速沉淀的现状下,所以咱们一边还是力求能积累多少积累多少,先把代码实现思路积累下来也好。我们还得形成开发Leader写代码框架、普通开发人员填核心模块的肉和编写次级模块、新手做次级模块来三级研发梯队来补充。这样ERP代码才不会被懵懵的弄乱。
5、深刻理解MAP。MAP的组成块,每个块的函数、属性说明。常用的控件的常用场景代码使用方法。
大量的新人不是不会MAP,而是单纯学习完MAP,到了真实的功能代码,真实的设计文档,不知道如何结合MAP使用来编写代码。
所以需要咱们开发部门把常用的控件(平台这里有清单),把它们的常用场景代码从咱们真实ERP代码中找出来,然后按真实代码真实场景给新人讲解,让新人学习,并且让新人通过写代码来感受控件如何真实实现业务场景需求,通过新人写的代码质量来评判新人的编码质量和编码能力。
6、JS、SQL基础。
JS其实是一个问题。因为咱们是在用C/S模式写B/S软件,所以大量业务逻辑操作都在JS前端,而这块代码无法调试,精确度不高,而且没有vs.net编码提示,所以出错度高,而且复杂不易理解。
一方面我们需要专人去阅读咱们现有系统JS代码,去思考如何把JS代码功能用VB来实现,去思考如何少写JS代码。这需要专门的前端开发架构师来持续研究。
SQL其实是个伪命题,其背后还是对咱们表、SP、VIEW、触发器的功能与关系的不了解。尤其咱们系统中还有不少早就废弃不用的表,也有不少早就废弃的代码,真真假假让人不知道如何理解如何梳理关系。所以梳理好现有代码中真正有用的表、VIEW、SP、代码非常关键。
7、产品开发过程
新手不知道怎么写代码是陷阱,怎样的代码是不规范的有稳定性、性能的风险。新手也不知道如何使用VSS,如何学习设计文档、如何自测、如何代码调试、如何和测试人员互动等等等等。
所以,需要选取255的一个系统的几个模块,拿255真实的代码,拿255真实的设计文档,按照真的开发流程要求、测试要求、发布要求走一遭。
8、每一个环节学习都要有过关考核任务,每个任务都要给出真实产物,真实产物力求是代码。
如新人学习业务、学习现有代码实现、学习现有数据对象关系及作用,怎么算学习到位。就需要新人拿出自己画的业务关系图、业务流程图,只有这样真实的产品要求才能让学习成为显性而不是浮流。检查新人的业务关系图、业务流程图,就知道他们理解业务到位了不?而且新人通过自己画业务关系图、业务流程图,能对业务更深刻的理解。
但千万记住,这不是知识沉淀,知识沉淀是另外去做的事。这里让新人自己画业务关系图、业务流程图是为了检验新人对业务的掌握而已。
我们要针对上述每个方面都有明确的真实产物。通过真实产物来评判打分。最好每个真实产物力求是代码。程序员以代码为本。
每个学习阶段最终都要有明确的过关任务。每个任务都有分数。量化的方法,更好衡量新人的学习能力、学习成果、代码质量和代码能力。不达平均线的就不能转正了。
所以我们做新人培养的老师要深刻思考,我们对新人学习MAP的常用代码场景有明确的产物成果不?对JS学习有什么明确的产物成果?如果没有,我们就要反思如何设计课程培训才能通过代码来反映学习情况。
希望这些产物成果力求就是真实的代码,而且是咱们典型应用场景的真实代码,每个新人都自己写出来,程序员要力求拿代码来衡量各个环节各个方面的学习。