🔖
ソフトウェアエンジニア版 親父の小言 pyspa編
- ドメインモデルは貧血にするな
- Keep it simple stupid
- バリューオブジェクトはイミュータブルにしろ
- 博打は決して打つな
- YAGNI
- 分散トランザクションとか寝言言ってるんじゃねぇ
- 使わなくなったコードはさっさと消せ
- コメントも含めてメンテしろ
- 推測するな、計測しろ
- そのアラートは必要ない
- ロールよりプラクティス
- コードが書けない奴がチームにいることを肯定するためにスクラムという言葉を使うな
- ソースと一緒にドキュメントもメンテしろ
- 欲しいのはエンジニア上がりのPM、エンジニア崩れのPMは要らん
- 分野ごとの最適なアルゴリズム選びはきちんとやれ
- プロパティをむやみに作るな
- 狭くて深いモジュールにしろ
- 英語を勉強しろ
- 早く寝ろ
- DB切り替えとかの予定もないのに、最初からインタフェース切ったりするな。本当にそれが有用なら、そういう機構を誰かがすでに用意したり事例があるはずだ。ないならお前の勘違いだ
- モックオブジェクトは避けろ
- モックが必要だと思ったときの8割は間違い
- モックオブジェクトの効用の範囲は思ったよりも狭いぞ
- ユニットテストでDBに書くのを躊躇うな、ただし並列テストはできるようにしろ
- Twitterを見るな
- 第一正規系くらい守れ
- フィードバックは頻繁なほどいい。静的チェック、ユニットテストetc
- プログラムは思った通りに動かない。書いた通りに動く
- プログラムは書いたとおりに動かないことがまれにある
- インタフェースに凝るよりも、まずはデータ構造にこだわれ。インタフェースで隠蔽しきれると思うな
- 他人が使っている言語とかフレームワークをdisるな。それで自分が優位だと思うな
- コードを書くときは「メンテナはあなたの住所を知っているサイコパスである」と肝に銘じてコーディングしなさい
- コードよりもデータの寿命のほうが遥かに長い
- 文字コードは変わる、Unicodeは毎年新しい文字が追加されている
- 文字列が左から右に描画されることを仮定するな
- timezoneを完璧に処理する唯一の方法は存在しない諦めろ
- カフェインと砂糖を取りすぎるな、寿命が縮んでるぞ
- お前が一意だと思っているIDは本当に一意なのかよく考えろ
- プログラミングがかっこいいと思っているのはプログラマーだけ
- 見積もりはコミットメントではない
- 実力と年収はそんなに関係ない
- きれいな実装よりもきれいなインターフェイス
- 既存コードを必要以上に大切にしすぎるな
- DBに真偽値を保存する前に3つ目の状態がないかよく考えろ
- 0をfalseと仮定するな。0が真の言語は意外とある
- 安易に互換性を壊すな
- indexは0から始まるとは限らない
- フラグとステートは区別しろ
- 送信するものは厳密に、受信するものは寛容に
- 流行りの設計手法を猿真似してもお前のコードは1ミリも良くならない
- ログの日付にはタイムゾーンも出せ
- 稼いでいるコードが一番偉い
- 優れている言語とは、労働市場から人材調達しやすい言語
- お前が死んでも、事業は死なん、休め
- 挙動にイラっと来たら、それはバグだとして勝手に直せ
- コーディングが仕事なのではない、マージされるまでが仕事。PRがマージされないのであればお前は仕事をしていないことになる
- アプリは正規化しろ、ログは非正規化しろ。10年前の購買ログに今のステータスをjoinしても何の意味もない
- CS部門に一週間行ってこい
- 若者は奢られるのが仕事、奢られた分は部下ができたときにそいつにおごってやれ
- 技術力は目に見えない
- サーバーはいつでも壊れる
- SSDとメモリは黙って壊れる
- ネットワークはいつでも切れる
- 初物のハードはよくよくテストして使え
- レイテンシ表は全部覚えろ
- ソフトやライブラリはアップデートしろ
- ファイルシステムを信用するな
- いつまでも古い環境を使い続けるやつはいる
- ログとソースコードは読んでおけ
- コンソールのエラーメッセージは声に出して読め
- バグってるのはライブラリじゃない、大抵お前の書いたとこ
- 一度にコードや設定変更するのは一箇所にしろ
- 圧縮は必要な時に一度だけやれ
- データ転送にもコストがかかる
- デプロイ単位より小さくマイクロサービスを作るな
- レビューコメントには理由を書け
- 会社のコードはおまえのお砂場じゃない
- パフォーマンスチューニングは、やる前にやらずに済む方法を模索しろ
- パフォーマンスチューニングをやる時は目標値を決めろ
- いいから黙ってプリペアードステートメント使え
- XSSはどこにでもあるものとしてアプリケーションを作れ
- アクセストークンをレポジトリにコミットするな
- jsonのパースにeval使うな
- クライアントサイドに渡したものは、全て改変されるものとして扱え
- プロダクトと自分を同一視するな
- どんな時でもWHERE句は必ず付けろ
- 取ったバックアップでリカバリしてみろ
- Unusable security is not security
- 構造化テキストは文字列結合でつくるな、SQLもHTMLも。XSSはすべてそれ
- すべてちゃんと動いているはずなら問題は発生していない
- 秘密鍵は秘密にしろ!
- 守破離言うやつはクソ
- やることを減らせ
- 非定型なコミニュケーションは大事
- We can solve any problem by introducing an extra level of indirection… except for the problem of too many levels of indirection.
- 要はバランス
- Google発祥のプラクティスをそのままやろうとするな
- [qiita|stakoverflow|ふぁうらー]鵜呑みにすんなよ
- Eric Evansの用語に踊らされるな
- 名前を付けてることで失われる価値がある
- インターネットの記事と設計とマネージメントの本は疑ってかかれ
- worse is better
- You aren't gonna be needed
- 銀の弾などない
- 巨大なJSONをRDBMSに突っ込むな
- メトリクスは取れ
- Don’t Test Private Methods
- エラーメッセージは良く読め
- Real Programmers Don't Use Pascal
- 57は素数
- Cgo is not Go
- 許可を求めるな謝罪せよ
- Don't be evil
- 0は自然数
- P≠NP
- Go To Statement Considered Harmful
- コンパイルエラーはランタイムクラッシュよりも優れている
- ファイル形式、プロトコルにはバージョン番号を付加しろ
- Keep It Simple Stupid
- 「適当なDBが必要」なら最初からRDBMS使え
- 1は素数
- Done is better than perfect
- 2PCは諦めろ
- CrashRecoveryは他人の信頼できる実装を頼れ
- FailureDetectorは諦めてCoordinatorにメンバシップ管理を任せろ
- FLPの向こうに行こうとするな
- セキュリティのコードは自作するな
- いつ解除するかわからないならキャッシュするな
- 「こんなこともあろうかと!」と言って喝采を浴びる日は来ない
- デスマに巻き込まれたかもしれないと感じたら、あなたが最初にやるべきことは病院を確認することである
- パブリックなところで愚痴るな
Discussion