
今天是2020-03-17,让我向大家隆重介绍一种划时代的元编程开发技巧:面向调皮开发
我们中学课本的好朋友鲁迅,曾经没有这样说过:
非调皮无以明志,非滑稽无以致远

21世纪是生物(调皮)的世纪,只有懂得面向调皮开发,才能世人皆醉,唯我独醒,才能在滚滚红尘中,迅速被人淘汰。
写代码的错误姿势
- 配备完善的内部健康检查机制
- 合并分支之前都有2个以上
code reviewer - 正式更新之前建立完备测试环境
- 测试覆盖率在80%以上
- 每次更新上线都用灰度
- 不使用root管理运维服务器
- 聘请计算机基础扎实的的工程师
- 底层基础依赖(Redis,MySQL)保证99.99%的可用性
- 不使用
sudo rm -rf /来完成对服务器的升级
如果你想要成为一个面向调皮开发者,面向调皮管理者,面向调皮XX,这些陋习都要统统去掉。
写代码的正确姿势

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

风清扬又道:
“大丈夫行事,爱怎样便怎,行云流水,任意所至,甚么武林规矩,门派教条,全都是放他妈的狗臭屁!”
#define TRUE FALSE
记住,对过早优化说不,需要优化就马上跑路。

搞前端的正确姿势

写bug的正确姿势

写出bug不要紧,只要不是你的就行。
如果是你写的代码出问题,那就 hack 同事的电脑,用 git rebase 重写仓库的提交历史,有锅全让别人来背。
搞测试的正确姿势

开源社区的正确姿势
自己的开源项目,要突出一个“皮”字,这个项目必须要有趣,比如
- 用动态规划做一个渣男挖别人墙角
- 人为制造带宽均衡态让阿里云的共享带宽挣不到钱。
- 嫌弃
dnspod网站做的太破,开发一个油猴插件魔改dnspod,最后再发邮件给腾讯的HR,吐槽下他们的产品设计
pull request的正确姿势
pull request,也要突出一个“皮”字
要记住,pull request就是你报复reviewers(这些人通常是你上司)的最好机会。要竭尽全力,在代码和文档里面拼命挖坑。比如
- 本该是
int64的变量用int32表示,让这个问题随着时间的推移而逐渐出现 - 创造性的拼写错误
- 充分利用
UTF-8的字符集,使用非英语字母,ASCII 字符 - 尽可能模块化,util , interface ,service implement ,web front-end, web back-end 都各自做成
git的submodule,并且各个submodule之间还有菱形依赖。反正顶层的web项目天知道哪天能运行起来。项目一多,KPI 就有了。 - 坚持使用
Java编程,并违背阿里巴巴Java开发手册上面的任何一条规则 - 产品文档上面不要写跟产品有关的任何细节(这是为了保护你的产品不被破坏!)
- 为了阻挠任何雇佣外部维护承包商的倾向,可以在代码中散布针对其他同行软件公司的攻击和抹黑,特别是可能接替你工作的其中任何一家
自带混淆的代码是给上帝看的,保护好我们的代码,就算它们落入了竞争对手手上,也丝毫不慌。只要你写的bug足够奇怪,单位就不敢轻易辞退你!竞争对手也会对你肃然起敬!
面向调皮开发,注重的是思路,而不是结果。要学会一本正经的胡说八道,写出满是bug的代码。
如果有人质疑你,你就发这张图:

处理 issue 的正确姿势
不管别人问你什么问题,先让他提问的智慧
如果他学会了,就让他自己解决问题。
code review 的正确姿势
不管他写了什么代码,先让他测试覆盖率达到99.99%再说,如果他做到了,我们直接关掉他pull request,并告诉他,这个项目我已经不打算维护了。
参考
服务器运维的正确姿势

sudo rm -rf /- 拔插头
- 插插头
数据库管理的正确姿势

Kubernetes 管理员的正确姿势

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

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

Today is 2020-03-17, let me introduce to everyone a groundbreaking metaprogramming development technique: P-Oriented Programming
Our good friend Lu Xun from middle school textbooks once didn’t say this:
Without mischief, one cannot clarify ambition; without humor, one cannot reach far

The 21st century is the century of biology (mischief). Only by understanding P-Oriented Programming can one be drunk while the world is sober, and can one be quickly eliminated in the rolling red dust.
Wrong Ways to Write Code
- Equip comprehensive internal health check mechanisms
- Have 2 or more
code reviewersbefore merging branches - Establish complete test environments before formal updates
- Test coverage above 80%
- Use grayscale for every update deployment
- Don’t use root to manage operations servers
- Hire engineers with solid computer fundamentals
- Ensure 99.99% availability for underlying infrastructure dependencies (Redis, MySQL)
- Don’t use
sudo rm -rf /to complete server upgrades
If you want to become a P-Oriented Developer, P-Oriented Manager, P-Oriented XX, all these bad habits must be removed.
Right Ways to Write Code

Feng Qingyang once said:
“In terms of martial arts alone, these demon cult elders cannot be said to have truly glimpsed the door of superior martial arts. They don’t understand that moves are dead, but the person executing them is alive. No matter how cleverly dead moves are broken, when encountering living moves, one is inevitably bound hand and foot, only to be slaughtered. You must firmly remember this word ‘living’. Learn moves with flexibility, use moves with flexibility. If one is rigid and inflexible, even if one practices tens of millions of ultimate moves, when encountering a true master, one will ultimately be broken cleanly.

Feng Qingyang also said:
“A true man acts as he pleases, flowing like clouds and water, going wherever he wants. What martial arts rules, sect doctrines, they’re all fucking bullshit!”
#define TRUE FALSE
Remember, say no to premature optimization, and if optimization is needed, just run away immediately.

Right Ways to Do Frontend

Right Ways to Write Bugs

Writing bugs doesn’t matter, as long as they’re not yours.
If code you wrote has problems, then hack your colleague’s computer, use git rebase to rewrite the repository’s commit history, and let others take all the blame.
Right Ways to Do Testing

Right Ways for Open Source Community
Your own open source projects should emphasize a “mischief” character. The project must be interesting, such as:
- Using dynamic programming to make a scumbag steal someone’s partner
- Artificially creating bandwidth equilibrium state to make Alibaba Cloud’s shared bandwidth unable to make money.
- Disliking that
dnspod’s website is too broken, developing a Tampermonkey plugin to modify dnspod, and finally sending an email to Tencent’s HR to complain about their product design
Right Ways for Pull Requests
pull request should also emphasize a “mischief” character
Remember, pull request is your best opportunity to get revenge on reviewers (these people are usually your superiors). Go all out to dig pits in code and documentation. For example:
- Use
int32for variables that should beint64, letting the problem gradually appear over time - Creative spelling errors
- Make full use of
UTF-8character set, use non-English letters, ASCII characters - Modularize as much as possible, util, interface, service implement, web front-end, web back-end all made into
gitsubmodules, and there are diamond dependencies between eachsubmodule. Who knows when the top-level web project can run. More projects mean more KPI. - Insist on using
Javaprogramming and violate every rule in Alibaba Java Development Manual - Don’t write any details related to the product in product documentation (this is to protect your product from being destroyed!)
- To hinder any tendency to hire external maintenance contractors, you can scatter attacks and slander against other peer software companies in the code, especially any that might replace your work
Self-obfuscating code is for God to see. Protect our code well. Even if they fall into competitors’ hands, we’re not panicked at all. As long as the bugs you write are strange enough, the company won’t dare to fire you easily! Competitors will also respect you!
P-Oriented Programming focuses on ideas, not results. Learn to speak nonsense seriously and write code full of bugs.
If someone questions you, send them this image:

Right Ways to Handle issues
No matter what question someone asks you, first make them read How To Ask Questions The Smart Way
If they learn it, let them solve the problem themselves.
Right Ways for code review
No matter what code they write, first make them achieve 99.99% test coverage. If they do it, we directly close their pull request and tell them this project is no longer maintained.
References
Right Ways for Server Operations

sudo rm -rf /- Unplug
- Plug in
Right Ways for Database Management

Right Ways for Kubernetes Administrators

1
kubectl delete namespace default --grace-period=0 --force
Conclusion
Believe me, after you experience the true meaning of P-Oriented Programming, it won’t be long before you get demoted and salary cut, become CAO (Chief Apology Officer), enter and leave detention centers, hook up with prosecutors, and fall into the depths of life. Income halved, enemies doubled, prison life is not a dream!

I recently bought a domain, welcome everyone to send me money.
Reference Links

今日は2020-03-17です。画期的なメタプログラミング開発テクニックを紹介します:P指向プログラミング
中学校の教科書の良き友である魯迅は、かつてこう言っていませんでした:
いたずらなくして志を明らかにすることはできず、滑稽なくして遠くに到達することはできない

21世紀は生物学(いたずら)の世紀です。P指向プログラミングを理解して初めて、世の中が酔っている中で一人だけ目覚め、激しい現実の中で迅速に排除されることができます。
コードを書く間違った方法
- 包括的な内部ヘルスチェックメカニズムを装備する
- ブランチをマージする前に2人以上の
code reviewerを配置する - 正式な更新前に完全なテスト環境を構築する
- テストカバレッジが80%以上
- 更新のデプロイごとにグレースケールを使用する
- rootを使用して運用サーバーを管理しない
- コンピュータの基礎がしっかりしたエンジニアを雇う
- 基盤インフラ依存関係(Redis、MySQL)の可用性を99.99%保証する
sudo rm -rf /を使用してサーバーのアップグレードを完了しない
P指向開発者、P指向管理者、P指向XXになりたい場合は、これらの悪い習慣をすべて取り除く必要があります。
コードを書く正しい方法

風清揚はかつて言いました:
「武学だけを見れば、これらの魔教長老たちは上級武学の門を真に覗き見たとは言えません。彼らは理解していません。技は死んでいますが、それを実行する人は生きています。死んだ技がどれほど巧妙に破られても、生きている技に遭遇すると、必然的に手足を縛られ、ただ屠殺されるだけです。この「生きている」という言葉をしっかりと覚えておく必要があります。技を柔軟に学び、技を柔軟に使用します。硬直して柔軟性がない場合、何千万もの究極の技を練習しても、真の達人に遭遇すると、最終的には完全に破られます。

風清揚はまた言いました:
「真の男は好きなように行動し、雲や水のように流れ、どこへでも行きます。武術のルール、宗派の教義、それらはすべてクソです!」
#define TRUE FALSE
覚えておいてください。時期尚早な最適化にノーと言い、最適化が必要な場合は、すぐに逃げてください。

フロントエンドを行う正しい方法

バグを書く正しい方法

バグを書いても問題ありません。自分のものでない限り。
書いたコードに問題がある場合は、同僚のコンピュータをhackし、git rebaseを使用してリポジトリのコミット履歴を書き直し、他の人にすべての責任を負わせます。
テストを行う正しい方法

オープンソースコミュニティの正しい方法
独自のオープンソースプロジェクトは「いたずら」の特徴を強調する必要があります。プロジェクトは興味深いものである必要があります。例えば:
- 動的計画法を使用して浮気者に他人のパートナーを盗ませる
- 帯域幅の平衡状態を人為的に作成して、阿里云の共有帯域幅がお金を稼げないようにする
dnspodのウェブサイトが壊れすぎていることを嫌い、dnspodを変更するTampermonkeyプラグインを開発、最後にTencentのHRにメールを送って製品設計について文句を言う
プルリクエストの正しい方法
pull requestも「いたずら」の特徴を強調する必要があります
覚えておいてください。pull requestはreviewers(これらの人々は通常あなたの上司です)に復讐する最良の機会です。コードとドキュメントに全力で穴を掘ります。例えば:
int64であるべき変数にint32を使用し、問題が時間の経過とともに徐々に現れるようにする- 創造的なスペルミス
UTF-8文字セットを最大限に活用し、非英語文字、ASCII文字を使用する- 可能な限りモジュール化し、util、interface、service implement、web front-end、web back-endをすべて
gitのsubmoduleにし、各submodule間にダイヤモンド依存関係がある。トップレベルのWebプロジェクトがいつ実行できるか誰が知っているか。プロジェクトが多ければ多いほど、KPIが増えます。 Javaプログラミングの使用を堅持し、阿里巴巴Java開発マニュアルのすべてのルールに違反する- 製品ドキュメントに製品に関連する詳細を書かない(これは製品が破壊されないように保護するためです!)
- 外部メンテナンス請負業者を雇う傾向を妨げるために、コード内に他の同業ソフトウェア会社、特にあなたの仕事を置き換える可能性のある会社に対する攻撃と中傷を散りばめることができます
自己難読化コードは神が見るためのものです。コードをよく保護してください。競合他社の手に落ちても、まったくパニックになりません。書いたバグが十分に奇妙であれば、会社は簡単にあなたを解雇することを敢えてしません!競合他社もあなたを尊敬します!
P指向プログラミングは結果ではなく、アイデアに焦点を当てます。真剣にでたらめを話し、バグだらけのコードを書くことを学びます。
誰かがあなたに質問した場合、この画像を送信してください:

issueを処理する正しい方法
誰かがどんな質問をしても、まず質問の賢い方法を読ませてください
彼らがそれを学んだら、自分で問題を解決させてください。
code reviewの正しい方法
どんなコードを書いても、まず99.99%のテストカバレッジを達成させてください。彼らがそれを達成したら、直接pull requestを閉じ、このプロジェクトはもうメンテナンスする予定がないと伝えてください。
参考文献
サーバー運用の正しい方法

sudo rm -rf /- プラグを抜く
- プラグを差し込む
データベース管理の正しい方法

Kubernetes管理者の正しい方法

1
kubectl delete namespace default --grace-period=0 --force
結語
信じてください。P指向プログラミングの真の意味を体験した後、降格と給与カット、CAO(最高謝罪責任者)になる、拘留所への出入り、検察官との関係、人生の底に落ちるまで、それほど長くはかかりません。収入は半分に、敵は倍に、刑務所生活は夢ではありません!

最近ドメインを購入しました。皆さん、お金を送ってください。
参考リンク

Сегодня 2020-03-17, позвольте мне представить всем революционную технику метапрограммирования: P-ориентированное программирование
Наш хороший друг Лу Синь из учебников средней школы однажды не сказал это:
Без озорства нельзя прояснить амбиции; без юмора нельзя достичь далеко

21-й век — это век биологии (озорства). Только понимая P-ориентированное программирование, можно быть пьяным, пока мир трезв, и можно быть быстро устраненным в бушующей красной пыли.
Неправильные способы написания кода
- Оснастить комплексными механизмами внутренней проверки работоспособности
- Иметь 2 или более
code reviewersперед слиянием веток - Создать полные тестовые среды перед официальными обновлениями
- Покрытие тестами выше 80%
- Использовать grayscale для каждого обновления развертывания
- Не использовать root для управления серверами операций
- Нанять инженеров с солидными основами компьютера
- Обеспечить 99.99% доступности для базовых зависимостей инфраструктуры (Redis, MySQL)
- Не использовать
sudo rm -rf /для завершения обновлений сервера
Если вы хотите стать P-ориентированным разработчиком, P-ориентированным менеджером, P-ориентированным XX, все эти дурные привычки должны быть удалены.
Правильные способы написания кода

Фэн Цинъян однажды сказал:
“Только с точки зрения боевых искусств, эти старейшины демонического культа не могут быть названы действительно заглянувшими в дверь превосходных боевых искусств. Они не понимают, что движения мертвы, но человек, выполняющий их, жив. Как бы искусно ни были разбиты мертвые движения, при встрече с живыми движениями неизбежно связаны руки и ноги, только чтобы быть зарезанными. Вы должны твердо запомнить это слово ‘живой’. Учите движения с гибкостью, используйте движения с гибкостью. Если человек жесткий и негибкий, даже если он практикует десятки миллионов абсолютных движений, при встрече с истинным мастером он в конечном итоге будет разбит чисто.

Фэн Цинъян также сказал:
“Настоящий мужчина действует как ему угодно, текущий как облака и вода, идущий куда хочет. Какие правила боевых искусств, доктрины сект, все это ебаная чушь!”
#define TRUE FALSE
Помните, скажите нет преждевременной оптимизации, и если оптимизация нужна, просто сразу убегайте.

Правильные способы делать фронтенд

Правильные способы писать баги

Писать баги не имеет значения, пока они не ваши.
Если код, который вы написали, имеет проблемы, тогда hack компьютер вашего коллеги, используйте git rebase для переписывания истории коммитов репозитория, и пусть другие берут всю вину.
Правильные способы делать тестирование

Правильные способы для открытого исходного сообщества
Ваши собственные проекты с открытым исходным кодом должны подчеркивать характер “озорства”. Проект должен быть интересным, например:
- Использование динамического программирования, чтобы сделать подлеца украсть чужого партнера
- Искусственное создание состояния равновесия пропускной способности, чтобы сделать общую пропускную способность Alibaba Cloud неспособной зарабатывать деньги.
- Не нравится, что веб-сайт
dnspodслишком сломан, разработка плагина Tampermonkey для модификации dnspod, и, наконец, отправка электронного письма в HR Tencent, чтобы пожаловаться на их дизайн продукта
Правильные способы для Pull Requests
pull request также должен подчеркивать характер “озорства”
Помните, pull request — это ваша лучшая возможность отомстить reviewers (эти люди обычно ваши начальники). Идите на все, чтобы копать ямы в коде и документации. Например:
- Используйте
int32для переменных, которые должны бытьint64, позволяя проблеме постепенно появляться со временем - Творческие орфографические ошибки
- Максимально используйте набор символов
UTF-8, используйте неанглийские буквы, символы ASCII - Модуляризуйте как можно больше, util, interface, service implement, web front-end, web back-end все сделаны в
gitsubmodules, и между каждымsubmoduleесть ромбовидные зависимости. Кто знает, когда проект верхнего уровня web может работать. Больше проектов означает больше KPI. - Настаивайте на использовании программирования
Javaи нарушайте каждое правило в Руководстве по разработке Java Alibaba - Не пишите никаких деталей, связанных с продуктом, в документации продукта (это для защиты вашего продукта от разрушения!)
- Чтобы препятствовать любой тенденции нанимать внешних подрядчиков по обслуживанию, вы можете разбросать атаки и клевету против других компаний-разработчиков программного обеспечения в коде, особенно любых, которые могут заменить вашу работу
Самозапутывающий код предназначен для Бога. Хорошо защитите наш код. Даже если они попадут в руки конкурентов, мы совсем не паникуем. Пока баги, которые вы пишете, достаточно странны, компания не посмеет легко уволить вас! Конкуренты также будут уважать вас!
P-ориентированное программирование фокусируется на идеях, а не на результатах. Научитесь говорить ерунду серьезно и писать код, полный багов.
Если кто-то задает вам вопросы, отправьте им это изображение:

Правильные способы обработки issues
Независимо от того, какой вопрос кто-то задает вам, сначала заставьте их прочитать Как задавать вопросы умным способом
Если они это выучат, пусть решают проблему сами.
Правильные способы для code review
Независимо от того, какой код они пишут, сначала заставьте их достичь 99.99% покрытия тестами. Если они это сделают, мы напрямую закроем их pull request и скажем им, что этот проект больше не поддерживается.
Ссылки
Правильные способы для операций сервера

sudo rm -rf /- Отключить
- Включить
Правильные способы управления базой данных

Правильные способы для администраторов Kubernetes

1
kubectl delete namespace default --grace-period=0 --force
Заключение
Поверьте мне, после того, как вы испытаете истинный смысл P-ориентированного программирования, не пройдет много времени, прежде чем вас понизят в должности и урежут зарплату, вы станете CAO (главным офицером по извинениям), войдете и выйдете из центров содержания под стражей, свяжетесь с прокурорами и упадете в глубины жизни. Доход уменьшен вдвое, враги удвоены, тюремная жизнь — не сон!

Я недавно купил домен, приветствую всех отправлять мне деньги.