当我每敲击一行代码时,我会想到的(稍微夸张了一些)

当我们埋头赶项目时,当你忙忙碌碌写代码时,你是否想到了? 当你每敲击一行代码时,你最好能想到一下事宜。
如有不妥之处,请大家指正。

 您若是在程序员岗位,或者从事与程序相关的工作,请你仔细阅读以下内容。

前提
01。你是不是在做正确的事情?                        (做这个事情,可能是错误的,不是我们需要做的事情,例如你在开发操作系统)
02。是不是你应该做的事请?                          (可能这件事情已安排给别人已经做好,或者正在做这个事情,你再做这个事情就是重复劳动了)
03。是不是你最先应该做的事情?                      (平时需要做的事情有很多,应该安排一个先后,优先等级)
04。你是不是在正确的做这件事情?                    (可能需要用java开发,你却在用c#在开发)
05。你是不是讲这个功能的整体需求在脑子里或者图纸上走了一次流程?  (你可能自己还没想明白,就开始写代码了,越写越乱,越乱越糟糕,你在图纸上思考问题,比写程序更有效)
06。你这行代妈是否可以不写?
07。为什么要写这行代马的充分理由有几个?
08。你写的代码,是不是在公司的公用类库里已经有这个功能的实现?   (用公司共用的类库,稳定性好,已经过大家的测试验证,或者有专门的人在负责维护)
开始写代码
09。你写的这部分代码,是否符合需求分析文档?    (一切应该按设计文档为依据,是项目组沟通的基础,测试的依据,公司积累的财富)
10。你写的这部分代码,是否有严谨的数据库设计?
11。你这行代码是否符合公司的编码规范?
12。写这行代码的功能部分,是否已定义接口?     (有标准接口,方便别人调用,方便理解,有能进行系统集成的余地)
13。你是在写系统中的哪一部份功能?
14。你这行代码是满足否从上到下的顺序逻辑?
15。你这行代码是满足从左到右的顺序逻辑?
16。你的代码是否应该写在这个位置是最优的嘛?
17。这行代码是否应该写备注?
18。你的同事同行是否能读懂你这行代妈?
19。老外能否读懂你这行代码,美国人、日本人、德国人?
20。你的代码对你有没有重复利用的价值,在下一个系统中能重复利用?其他人能重复利用?
21。你的代码能否进行自动化测试?不用每次都人工进行测试?写一个测试脚本就可以每次自动测试?
22。你这行代码什么时候会被程序调用,程序运行是否能覆盖到这行代码?
23。你这行代码准备让谁复查?
24。你这行代码是不是有改进的余地,与以前写的代码有什么不同?
25。网上?参考资料里?其他同事是否同样的功能写得更好更简洁?
26。你的代码或者业务逻辑,能在B/S、C/S、或者分布式系统里是否能重复利用?
27。你若写的是数据库操作,能否在支持 Oracle、SqlServer 等多种常用的数据库?
28。能实现多语言环境要求?是否有多语言扩展的希望?
29。你写的代码是 Java语言的能跟C#.NET有集成调用的余地吗?如何有希望能调用?
30。你写的这部分功能,能与其他开发的系统,有机的组成一个大的管理系统吗?
31。你写的这样代码,若有变动,会不会影响其他人?
32。这行代马修改了,会不会引起其他的连锁的错误,是否可以在编译阶段发现错误?
额外要求
30。你这行代码是否会引起系统异常?
31。你这行代码是否会导致系统的崩溃?
32。你哈行代码是否会引起死循环?
33。你这行代码会不会引起并发问题?
34。你这行代码是否经得起压力测试?
35。你这行代码函数部分是否能被纪录在系统操作日志里?
36。你这行代码函数部分是否有做性能分析?
娱乐一下大家
37。你每天要是在写上千行代码?那就请你停下来,喝点儿茶,发呆休息一下,整理一下思绪,找你同事来检查一下,或者找你心目中技术上可信任的人,来给你指导一下。
38。你每天要是在写2000行代码,你的项目经理没发疯,公司没开除你,那是有问题了。
39。你每天要是在写3000行代码,你眼睛没花掉,或者应为工作劳累没有晕倒在电脑前,那至少我个人是非常佩服你了。
40。你每天要是在写4000行代吗,中国的软件行业有希望了,你可能就是中国微软的创始人,至少我们公司的其他程序员都可以下岗了。
41。你每天要在在写5000行代码,我要跟你拼命了。

本文出自 “通用权限设计” 博客,请务必保留此出处http://2347979.blog.51cto.com/2337979/451742

注:仅仅转载部分,查看全文请去原文地址:http://2347979.blog.51cto.com/2337979/451742/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.