程序员如何分分钟搞垮一个项目?
大家好。
有句话这样说来着,幸福的家庭都是相似的,不幸的家庭各有各的不幸, 这句话放到咋们互联网程序员上也是一样的。
大神级程序员都是相似的,而菜鸡程序员却菜的各有千秋,分分钟能搞垮一个项目。
程序员不知不觉中如何搞垮一个项目?结合小贺最近一段时间的真实血泪经历,几个小妙招教给你。
系统设计
第一,就是系统的关键服务尽量要做单节点部署,因为只有关键服务设计成了单点,发生故障的时候才会影响全局,恢复起来就没那么容易。
第二,就是每个服务之间尽可能的细分,要尽量互相依赖,只有互相依赖的系统。内部才会更复杂,出现问题排查难度才会成几何级数增加。
第三,就是不建立服务预警,不能让问题过早的暴露出来。
第四,不要上云服务,服务架构一定要简单清晰,最好不同模块用不同语言写,部署在不同的服务器上,服务器一定要选便宜的为公司节约成本。
第五,接口调用过期时间调大一些,再加上一个 100 次的失败重试的循环,不用缓存,尽量让巨量的访问请求在一毫秒内全部打到数据库上去,这样才能最大可能测出数据库的性能。
备份权限
第六,就是数据不做备份处理,浪费磁盘空间,服务器如果怕忘了密码,最好设置成 123456,这样大家都能记得住。
第七,相信团队里的每个人,给予他们修改线上数据库表的权限,允许开发直接登录生产的机器,最好赋予 root 权限,这样紧急操作线上数据简单方便快捷。
第八,不要使用版本管理,业务变更只新增代码,不要删除或修改旧的程序,要多做冗余,因为以后可能还要用。
代码规范
第九,把代码的变量都优化成非常简单粗暴的形式,比如 aa,bb,cc,还有不要写注释,尽量保持在 0%,没有任何注释和文档说明,别人来接手你的代码根本看不懂,你的价值也瞬间体现。
第十,新出的技术要赶紧用起来,别管懂不懂,兼容与否,就是要新。
第十一,写代码尽量 if 里面套多几个 if,不需要抽象写法,全部代码写到一个函数里面,for 循环尽量套多几个 for,这样代码看起来逻辑很顺畅。
第十二,多用点反射,异常直接抛出去不要捕获保证异常信息,让前端知道,开启多例依赖注入,能多个线程做的事情尽量开多几个一起做,事半功倍。
测试
第十三,就是不要做压力测试,性能测试,要对团队的代码质量有信心,不相信团队的事情,是万万不能做的。
第十四,不写单测,代码编译过了还要而测试,多浪费时间,如果要写测试,也不要 mock,要在真实环境做测试,这样才能反应真实的问题。
安全
第十五个,允许团队成员将自己的 ssh 公钥传到服务器里,不然员工怎么方便开展工作呢。
第十六个,web 服务端, nginx 调度器和 Hadoop 集群以及 SQL 服务全部部署在一台机子上,多花钱的事咱们绝对不干。
第十七个,什么动静分离,什么反向代理,iptables 都不要开,交换机永远不要做 valn 隔离,不然各部门同事怎么交流怎么开展工作呢。
第十八个,在后台管理页面,一定要留一个,一键删库的按钮,防止黑客盗取用户信息。当发生这种情况的时候,我们在任何情况地点登录后台,在黑客盗取数据前先东西都毁了。
第十九个,所有的查询语句直接优化为 select *,不用 explain 查看 SQL 执行背后是否使用索引,减少开发时间。
最后一个大招,所有代码都不用测试直接上,要相信团队的开发能力。
好了,完成了以上步骤,恭喜你,达成成就:把老板给炒了。
PS:以上 20 条,每一条背后都有可能对项目/团队带来致命的伤害,作为程序员的我们一定要时刻告诫自己,小心别把老板给炒了
大家还知道哪些高级技巧?欢迎在评论区留言。
我们下期再见。
参考:https://b23.tv/HKyPJsP