软件工程师秘籍:通过代码下毒给老板上一课

文章最后一段有彩蛋,一定要拆!

对于软件工程师,如果你有一个唯我独尊的老板,整天压榨着你的编程时间,喊着“进度!进度!进度!”的口号,那么你可以通过代码下毒给他上一课,让这段代码前无古人能看懂,后无来者可维护。今天简单教你几招,足够让他日后吐血:

1、软件文档

如果你决定要给老板上一课,那么你可以把设计文档取消,让设计思路只存在于你的脑海里,这样你省去了大部分的时间编写枯燥的文档,也迎合了老板的旨意。如果流程上要求必须要有设计文档,那么你也可以在内容的详细程度上做文章,随便写写就好,不需要追溯,不需要思考,找找以前的文件资料东拼西凑一下就好。

2、软件命名

既然决定要给老板上一课,那么就别谈什么代码规范了,命名规则上可以有很多破坏招数:

  • 标识符尽量让人造成误解,变量、函数、宏定义、枚举、结构体等等命名都随心所欲吧;
  • 混用不同的语言来命名,可以将英语法语德语汉语拼音都搅和再一起,让人蒙圈;
  • 局部变量与全局变量取个相同的名字混淆视听;
  • 尽量用一些容易混淆的数字和字母,好好运用L,I,1以及o,0这些同胞兄弟,给后面维护代码的脸盲同事制造些障碍;
  • 使用长得相似的变量名,例如a_bc,a_bC,a_b_c,ab_c等。

3、软件注释

  • 减少注释内容,能不注释就不注释,让以后其他人维护代码时焦头烂额,搞不定老板定会抓狂;
  • 注释不求清晰明确,只求废话,即使注释了也让它达到没注释的效果;
  • 代码更新时,注释不更新,让后来者对照代码和注释时怀疑人生;
  • 注释不要太诚实,如果有一个注释内容需要说明此句代码关系到代码里10个地方的内容,那么你只需要保持沉默,你不声张没人知道。

4、软件设计

  • 多多使用全局变量,在每个函数里任意读写,制造多线程功能切换的读写访问冲突;
  • 多多使用中断处理,在中断里面做文章,制造优先级冲突;
  • 多多使用指针,不用在意空指针,也不用在意指针指向的数据类型;
  • 使用递归,让代码在某种情况下陷入神经病状态;
  • 使用多维数组,API进行多层包装,大量使用嵌套,怎么复杂怎么 来;
  • 变量使用前不进行初始化,让变量值变得神秘莫测;
  • 不对输入做合理性检查,埋下指针越界,数据越界、内存溢出等各种隐患。

5、软件测试

老板不是很着急嘛,所以代码写完直接用,不用测试验证,代码走查,静态分析……这些统统都可以省略,即使要做,也要有技巧的做:

  • 测试用例随便写写,不用费劲脑汁进行等价类划分,边界值测试,随便挑个数测一下,运气好的话一下子就过了,运气不好没测试通过那就换个输入值测;
  • 功能实现了就好,不用做性能测试,故障插入测试,容易出问题且花费时间。

总之,这套代码交付后,你就可以递上一封辞职信,后面的事就交给你的苦逼同事和傻逼老板吧,以后产品陆续暴露的问题足够给老板上一课的,并且是深刻惨痛的一课。

彩蛋:对了,忘了说一点,功能安全相关设计终身追责,所以此教程有风险,请勿轻易模仿,否则后果自负。

文章来源:功能安全专家   作者:吴丹丹Dandi   版权归原作者所有,如需转载,请联系作者。

关注零束SOA开发者论坛,掌握更多智能车咨询!

软件工程师秘籍:通过代码下毒给老板上一课

 

来源:SOA开发者

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月16日
下一篇 2022年1月16日

相关推荐