面向调皮编程

P Oriented Programming

Posted by Zeusro on March 17, 2020

image

今天是2020-03-17,让我向大家隆重介绍一种划时代的元编程开发技巧:面向调皮开发

我们中学课本的好朋友鲁迅,曾经没有这样说过:

非调皮无以明志,非滑稽无以致远

image

21世纪是生物(调皮)的世纪,只有懂得面向调皮开发,才能世人皆醉,唯我独醒,才能在滚滚红尘中,迅速被人淘汰。

写代码的错误姿势

  1. 配备完善的内部健康检查机制
  2. 合并分支之前都有2个以上code reviewer
  3. 正式更新之前建立完备测试环境
  4. 测试覆盖率在80%以上
  5. 每次更新上线都用灰度
  6. 不使用root管理运维服务器
  7. 聘请计算机基础扎实的的工程师
  8. 底层基础依赖(Redis,MySQL)保证99.99%的可用性
  9. 不使用sudo rm -rf /来完成对服务器的升级

如果你想要成为一个面向调皮开发者面向调皮管理者面向调皮XX,这些陋习都要统统去掉。

写代码的正确姿势

image

风清扬曾经说过:

“单以武学而论,这些魔教长老们也不能说真正已窥上乘武学之门。他们不懂得,招数是死的,发招之人却是活的。死招数破得再妙,遇上了活招数,免不了缚手缚脚,只有任人屠戮。这个‘活’字,你要牢牢记住了。学招时要活学,使招时要活使。倘若拘泥不化,便练熟了几千万手绝招,遇上了真正高手,终究还是给人家破得干干净净。

image

风清扬又道:

“大丈夫行事,爱怎样便怎,行云流水,任意所至,甚么武林规矩,门派教条,全都是放他妈的狗臭屁!”

#define TRUE FALSE

记住,对过早优化说不,需要优化就马上跑路。

image

搞前端的正确姿势

image

写bug的正确姿势

image

写出bug不要紧,只要不是你的就行。

如果是你写的代码出问题,那就 hack 同事的电脑,用 git rebase 重写仓库的提交历史,有锅全让别人来背。

搞测试的正确姿势

image

开源社区的正确姿势

自己的开源项目,要突出一个“”字,这个项目必须要有趣,比如

  1. 用动态规划做一个渣男挖别人墙角
  2. 人为制造带宽均衡态让阿里云的共享带宽挣不到钱。
  3. 嫌弃dnspod网站做的太破,开发一个油猴插件魔改dnspod,最后再发邮件给腾讯的HR,吐槽下他们的产品设计

pull request的正确姿势

pull request,也要突出一个“”字

要记住,pull request就是你报复reviewers(这些人通常是你上司)的最好机会。要竭尽全力,在代码和文档里面拼命挖坑。比如

  1. 本该是int64的变量用int32表示,让这个问题随着时间的推移而逐渐出现
  2. 创造性的拼写错误
  3. 充分利用UTF-8的字符集,使用非英语字母,ASCII 字符
  4. 尽可能模块化,util , interface ,service implement ,web front-end, web back-end 都各自做成 gitsubmodule,并且各个submodule之间还有菱形依赖。反正顶层的web项目天知道哪天能运行起来。项目一多,KPI 就有了。
  5. 坚持使用Java编程,并违背阿里巴巴Java开发手册上面的任何一条规则
  6. 产品文档上面不要写跟产品有关的任何细节(这是为了保护你的产品不被破坏!)
  7. 为了阻挠任何雇佣外部维护承包商的倾向,可以在代码中散布针对其他同行软件公司的攻击和抹黑,特别是可能接替你工作的其中任何一家

自带混淆的代码是给上帝看的,保护好我们的代码,就算它们落入了竞争对手手上,也丝毫不慌。只要你写的bug足够奇怪,单位就不敢轻易辞退你!竞争对手也会对你肃然起敬!

面向调皮开发,注重的是思路,而不是结果。要学会一本正经的胡说八道,写出满是bug的代码。

如果有人质疑你,你就发这张图:

image

处理 issue 的正确姿势

不管别人问你什么问题,先让他提问的智慧

如果他学会了,就让他自己解决问题。

code review 的正确姿势

不管他写了什么代码,先让他测试覆盖率达到99.99%再说,如果他做到了,我们直接关掉他pull request,并告诉他,这个项目我已经不打算维护了。

参考

  1. hexo Chart
  2. 如何编写无法维护的代码
  3. Update README-zh_Hans.md

服务器运维的正确姿势

  1. sudo rm -rf /
  2. 拔插头
  3. 插插头

数据库管理的正确姿势

image

Kubernetes 管理员的正确姿势

image

1
kubectl delete namespace default --grace-period=0 --force

结语

相信我,当你体会了面向调皮开发的真谛以后,相信用不了多久,降职减薪,当上CAO(首席背锅官),出入拘留所,勾搭检察官,堕入人生低谷。收入减半,仇人加倍,铁窗生活不是梦!

image

我最近买了个域名,欢迎大家给我打钱。

参考链接

  1. 风清扬:另有高处比天高
  2. Ask HN: What’s the largest amount of bad code you have ever seen work?
  3. is there an award for ugliest code?

Today is 2020-03-17,I would like to show you a new excellent programming:p-oriented-programming

In China,P means shit/bullshit,so we can say about that:

p-oriented-programming=bullshit-oriented-programming

p-oriented-programming is some kind of thought,It will help you to make this world a better place!

What you need to do is creating a pull request/issue to someone’s open source project , with some funny jokes or sticker.

Or you can show your project whatever you like.

If you watch my github,you will get my point.

And you will find that coding is something you can get happiness from it.

Here are some examples.

  1. 好耶 是女装
  2. 共享带宽自调整
  3. hexo Chart
  4. 开发一个油猴插件魔改dnspod

Why so serious?

Let’s make some fun in this hell!