程序员如何提高工作效率
最近在园子里看到好多关于过劳死的评论,我在这里推荐一些方法,介绍一些工具。程序员在公司无非就是重复劳动,用控件堆砌界面,对数据库增删改查。如果我们能把这些重复劳动尽可能多的让机器去工作,那么可以节省我们不少的劳动时间。
1. 开发阶段,使用代码生成器。开发阶段的工作大多数就是对数据库的增删改查,我们可以用代码生成器生成大多数的简单逻辑的数据库操作。我相信80%的代码量都是简单逻辑的,软件中的复杂逻辑的代码量只占20%。所以使用代码生成器生成好代码,粘贴到我们的程序中简单测试即可开发出大多数的代码了。国内的代码生成器推荐动软代码生成器,国外的产品推荐mygeneration和CodeSmith。这些生成器都可以自定义模版,比较灵活。
2. 自测阶段,使用单元测试工具和仿真测试工具。大家没有没有这样的体会,为了测试一个很小的模块,登陆系统中要进行好多步骤的操作才能触发我们测试的模块,而且还要在界面上录入好多测试数据或是准备好多测试数据。时间和精力都消耗在这等无聊的重复劳动里了。
a) 在编码过程中推荐使用单元测试工具。开源工具有Nunit,visualstudio中还有测试工程。原理很简单,就相当于一个main函数调用我们待测试的函数而已。使用也很简单,只要将准备数据写在代码中,运行单元测试功能,检查是否输出我们需要的结果就可以了。省掉了大量点鼠标的操作。
b) 在开发完一个模块后需要使用仿真测试来验证模块的正确性。推荐使用工具loadrunner和Selenium。原理很简单,就是使用仿真测试工具录制我们测试的脚本,然后反复的使用工具对我们的功能进行验证。
3. 系统上线后排除bug阶段。系统上线后客户会提出很多bug有些问题在开发环境中都无法复现;有些错误数据产生了,但是不知道客户是如何操作出来了的。这时就需要在开发过程中尽可能多的记录日志,这样在系统上线后,我们就可以顺着日志推断出代码的执行顺序,从而找出bug。推荐使用工具log4net和Log2Console。注意这不是两个日志工具,而是两个搭配使用的工具。Log4net负责输出日志;Log2Console负责实时显示日志,而且Log2Console可以对不同等级的日志分颜色显示。使用方法。
写在最后,希望上述工具能够减轻大家的工作量,少加班。纯手工敲出来的代码永远是最不值钱的,其次是那些使用工具的工匠,金字塔最顶层的是那些指挥工匠的BOOS
5月22日晚补充:本文意在快速生成高质量的代码,减少人工录入代码,减少bug。另外上述三个阶段使用的工具和方法也是需要相互配合使用的。开发阶段的代码生成器也需要生成日志代码,也需要生成测试工程使用的代码。测试工程在运行的时候如果结果是正确的也要检查一下日志的输出顺序是不是我们代码预期执行的顺序。日志中尽量要记录下每个模块的输入参数,这样系统上线后需要查bug的时候,可以利用输入参数使用单元测试在测试环境中复现bug。