我有许多正在转向.NET的COBOL程序员.我发现很多人都在努力采用/理解OO编程原理.我没有任何COBOL经验,所以我找到几个相似之处的能力非常有限.
我不想说"忘记你二十年的经验.这都是全新的",但我没有类比和工具可以做得更好.
您有什么建议我帮助他们了解.NET世界?
Nov*_*zky 10
之前我遇到过这个问题,因为我是团队领导,我有五个COBOL开发人员; 他们在编程方面的经验比我有4倍.
正如您所注意到的,您必须从OO编程基础开始.然后,如果可以,尝试结对编程(一个.NET dev +一个COBOL dev).这就是我正在做的事情,而且效果非常好.
这可能也很有用:Microsoft .Net for COBOL程序员
解决这个问题的方法是从COBOL程序员的角度思考问题.这是他们穿越的一个很大的距离所以尽可能地伸出脚凳来帮助他们走路是至关重要的.
大多数COBOL程序员几乎没有桌面体验.没有OOP经验.可能很少或没有网络.等等.
但是,如果他们编写了结构化的COBOL代码,他们将对函数的内容有一个非常好的感觉.尽管COBOL段落与功能并不完全相同,但大多数优秀的COBOL程序员都会很快掌握这一概念.建立在已经钻探了20年的结构化编程概念的基础上.结构导致导致OOP的功能.
拥有这么多经验的大多数COBOL人员应该对业务逻辑有很好的理解.用那个.您可以通过虚假走"正方形和三角形的形状"尽快OOP的例子,让他们专注于自己的事情可能已经很舒服 - 比如储蓄和支票的账户和它们的共同点......等等这些东西.
他们肯定会理解基于文件的程序.在开始时忘记花哨的GUI东西.让他们编写模仿他们在COBOL中所做的事情的程序,但是将它们简化为OOP概念.他们了解记录.记录与结构没有很大不同,结构与类别没有很大不同.等等.
大多数COBOL程序员都会理解事务处理.用那个.它应该提供丰富的材料用于教授OOP和许多不同的.Net(或任何其他技术)API.
指派一位经验丰富的.Net开发人员作为他们的导师 让他做代码审查,提供建议等.不要只是向COBOL人员扔几本书和一大堆新的MS软件,并期望他们游泳.这是灾难的处方.他们需要一些手握和鼓励.但是你可能会在这个小组中找到几个坚实的.Net人员,并保持对当前系统的了解.
首先让他们使用对象,而不是期望他们自己提出一个伟大的系统范围的OO设计.
你可以做我的CS教授介绍所做的 - 设计类并为它们存根 - 只是让方法实现让他们弄明白.这样,他们就有机会习惯语法,使用对象,范围等,而不需要理解优秀OO设计的复杂性.