文章最后一段有彩蛋,一定要拆!
对于软件工程师,如果你有一个唯我独尊的老板,整天压榨着你的编程时间,喊着“进度!进度!进度!”的口 ,那么你可以通过代码下毒给他上一课,让这段代码前无古人能看懂,后无来者可维护。今天简单教你几招,足够让他日后吐血:
1、软件文档
如果你决定要给老板上一课,那么你可以把设计文档取消,让设计思路只存在于你的脑海里,这样你省去了大部分的时间编写枯燥的文档,也迎合了老板的旨意。如果流程上要求必须要有设计文档,那么你也可以在内容的详细程度上做文章,随便写写就好,不需要追溯,不需要思考,找找以前的文件资料东拼西凑一下就好。
2、软件命名
既然决定要给老板上一课,那么就别谈什么代码规范了,命名规则上可以有很多破坏招数:
- 标识符尽量让人造成误解,变量、函数、宏定义、枚举、结构体等等命名都随心所欲吧;
- 混用不同的语言来命名,可以将英语法语德语汉语拼音都搅和再一起,让人蒙圈;
- 局部变量与全局变量取个相同的名字混淆视听;
- 尽量用一些容易混淆的数字和字母,好好运用L,I,1以及o,0这些同胞兄弟,给后面维护代码的脸盲同事制造些障碍;
- 使用长得相似的变量名,例如a_bc,a_bC,a_b_c,ab_c等。
3、软件注释
- 减少注释内容,能不注释就不注释,让以后其他人维护代码时焦头烂额,搞不定老板定会抓狂;
- 注释不求清晰明确,只求废话,即使注释了也让它达到没注释的效果;
- 代码更新时,注释不更新,让后来者对照代码和注释时怀疑人生;
- 注释不要太诚实,如果有一个注释内容需要说明此句代码关系到代码里10个地方的内容,那么你只需要保持沉默,你不声张没人知道。
4、软件设计
- 多多使用全局变量,在每个函数里任意读写,制造多线程功能切换的读写访问冲突;
- 多多使用中断处理,在中断里面做文章,制造优先级冲突;
- 多多使用指针,不用在意空指针,也不用在意指针指向的数据类型;
- 使用递归,让代码在某种情况下陷入神经病状态;
- 使用多维数组,API进行多层包装,大量使用嵌套,怎么复杂怎么 来;
- 变量使用前不进行初始化,让变量值变得神秘莫测;
- 不对输入做合理性检查,埋下指针越界,数据越界、内存溢出等各种隐患。
5、软件测试
老板不是很着急嘛,所以代码写完直接用,不用测试验证,代码走查,静态分析……这些统统都可以省略,即使要做,也要有技巧的做:
- 测试用例随便写写,不用费劲脑汁进行等价类划分,边界值测试,随便挑个数测一下,运气好的话一下子就过了,运气不好没测试通过那就换个输入值测;
- 功能实现了就好,不用做性能测试,故障插入测试,容易出问题且花费时间。
总之,这套代码交付后,你就可以递上一封辞职信,后面的事就交给你的苦逼同事和傻逼老板吧,以后产品陆续暴露的问题足够给老板上一课的,并且是深刻惨痛的一课。
彩蛋:对了,忘了说一点,功能安全相关设计终身追责,所以此教程有风险,请勿轻易模仿,否则后果自负。
关注零束SOA开发者论坛,掌握更多智能车咨询!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!