🔖

ソフトウェアエンジニア版 親父の小言 pyspa編

2023/05/15に公開
  1. ドメインモデルは貧血にするな
  2. Keep it simple stupid
  3. バリューオブジェクトはイミュータブルにしろ
  4. 博打は決して打つな
  5. YAGNI
  6. 分散トランザクションとか寝言言ってるんじゃねぇ
  7. 使わなくなったコードはさっさと消せ
  8. コメントも含めてメンテしろ
  9. 推測するな、計測しろ
  10. そのアラートは必要ない
  11. ロールよりプラクティス
  12. コードが書けない奴がチームにいることを肯定するためにスクラムという言葉を使うな
  13. ソースと一緒にドキュメントもメンテしろ
  14. 欲しいのはエンジニア上がりのPM、エンジニア崩れのPMは要らん
  15. 分野ごとの最適なアルゴリズム選びはきちんとやれ
  16. プロパティをむやみに作るな
  17. 狭くて深いモジュールにしろ
  18. 英語を勉強しろ
  19. 早く寝ろ
  20. DB切り替えとかの予定もないのに、最初からインタフェース切ったりするな。本当にそれが有用なら、そういう機構を誰かがすでに用意したり事例があるはずだ。ないならお前の勘違いだ
  21. モックオブジェクトは避けろ
  22. モックが必要だと思ったときの8割は間違い
  23. モックオブジェクトの効用の範囲は思ったよりも狭いぞ
  24. ユニットテストでDBに書くのを躊躇うな、ただし並列テストはできるようにしろ
  25. Twitterを見るな
  26. 第一正規系くらい守れ
  27. フィードバックは頻繁なほどいい。静的チェック、ユニットテストetc
  28. プログラムは思った通りに動かない。書いた通りに動く
  29. プログラムは書いたとおりに動かないことがまれにある
  30. インタフェースに凝るよりも、まずはデータ構造にこだわれ。インタフェースで隠蔽しきれると思うな
  31. 他人が使っている言語とかフレームワークをdisるな。それで自分が優位だと思うな
  32. コードを書くときは「メンテナはあなたの住所を知っているサイコパスである」と肝に銘じてコーディングしなさい
  33. コードよりもデータの寿命のほうが遥かに長い
  34. 文字コードは変わる、Unicodeは毎年新しい文字が追加されている
  35. 文字列が左から右に描画されることを仮定するな
  36. timezoneを完璧に処理する唯一の方法は存在しない諦めろ
  37. カフェインと砂糖を取りすぎるな、寿命が縮んでるぞ
  38. お前が一意だと思っているIDは本当に一意なのかよく考えろ
  39. プログラミングがかっこいいと思っているのはプログラマーだけ
  40. 見積もりはコミットメントではない
  41. 実力と年収はそんなに関係ない
  42. きれいな実装よりもきれいなインターフェイス
  43. 既存コードを必要以上に大切にしすぎるな
  44. DBに真偽値を保存する前に3つ目の状態がないかよく考えろ
  45. 0をfalseと仮定するな。0が真の言語は意外とある
  46. 安易に互換性を壊すな
  47. indexは0から始まるとは限らない
  48. フラグとステートは区別しろ
  49. 送信するものは厳密に、受信するものは寛容に
  50. 流行りの設計手法を猿真似してもお前のコードは1ミリも良くならない
  51. ログの日付にはタイムゾーンも出せ
  52. 稼いでいるコードが一番偉い
  53. 優れている言語とは、労働市場から人材調達しやすい言語
  54. お前が死んでも、事業は死なん、休め
  55. 挙動にイラっと来たら、それはバグだとして勝手に直せ
  56. コーディングが仕事なのではない、マージされるまでが仕事。PRがマージされないのであればお前は仕事をしていないことになる
  57. アプリは正規化しろ、ログは非正規化しろ。10年前の購買ログに今のステータスをjoinしても何の意味もない
  58. CS部門に一週間行ってこい
  59. 若者は奢られるのが仕事、奢られた分は部下ができたときにそいつにおごってやれ
  60. 技術力は目に見えない
  61. サーバーはいつでも壊れる
  62. SSDとメモリは黙って壊れる
  63. ネットワークはいつでも切れる
  64. 初物のハードはよくよくテストして使え
  65. レイテンシ表は全部覚えろ
  66. ソフトやライブラリはアップデートしろ
  67. ファイルシステムを信用するな
  68. いつまでも古い環境を使い続けるやつはいる
  69. ログとソースコードは読んでおけ
  70. コンソールのエラーメッセージは声に出して読め
  71. バグってるのはライブラリじゃない、大抵お前の書いたとこ
  72. 一度にコードや設定変更するのは一箇所にしろ
  73. 圧縮は必要な時に一度だけやれ
  74. データ転送にもコストがかかる
  75. デプロイ単位より小さくマイクロサービスを作るな
  76. レビューコメントには理由を書け
  77. 会社のコードはおまえのお砂場じゃない
  78. パフォーマンスチューニングは、やる前にやらずに済む方法を模索しろ
  79. パフォーマンスチューニングをやる時は目標値を決めろ
  80. いいから黙ってプリペアードステートメント使え
  81. XSSはどこにでもあるものとしてアプリケーションを作れ
  82. アクセストークンをレポジトリにコミットするな
  83. jsonのパースにeval使うな
  84. クライアントサイドに渡したものは、全て改変されるものとして扱え
  85. プロダクトと自分を同一視するな
  86. どんな時でもWHERE句は必ず付けろ
  87. 取ったバックアップでリカバリしてみろ
  88. Unusable security is not security
  89. 構造化テキストは文字列結合でつくるな、SQLもHTMLも。XSSはすべてそれ
  90. すべてちゃんと動いているはずなら問題は発生していない
  91. 秘密鍵は秘密にしろ!
  92. 守破離言うやつはクソ
  93. やることを減らせ
  94. 非定型なコミニュケーションは大事
  95. We can solve any problem by introducing an extra level of indirection… except for the problem of too many levels of indirection.
  96. 要はバランス
  97. Google発祥のプラクティスをそのままやろうとするな
  98. [qiita|stakoverflow|ふぁうらー]鵜呑みにすんなよ
  99. Eric Evansの用語に踊らされるな
  100. 名前を付けてることで失われる価値がある
  101. インターネットの記事と設計とマネージメントの本は疑ってかかれ
  102. worse is better
  103. You aren't gonna be needed
  104. 銀の弾などない
  105. 巨大なJSONをRDBMSに突っ込むな
  106. メトリクスは取れ
  107. Don’t Test Private Methods
  108. エラーメッセージは良く読め
  109. Real Programmers Don't Use Pascal
  110. 57は素数
  111. Cgo is not Go
  112. 許可を求めるな謝罪せよ
  113. Don't be evil
  114. 0は自然数
  115. P≠NP
  116. Go To Statement Considered Harmful
  117. コンパイルエラーはランタイムクラッシュよりも優れている
  118. ファイル形式、プロトコルにはバージョン番号を付加しろ
  119. Keep It Simple Stupid
  120. 「適当なDBが必要」なら最初からRDBMS使え
  121. 1は素数
  122. Done is better than perfect
  123. 2PCは諦めろ
  124. CrashRecoveryは他人の信頼できる実装を頼れ
  125. FailureDetectorは諦めてCoordinatorにメンバシップ管理を任せろ
  126. FLPの向こうに行こうとするな
  127. セキュリティのコードは自作するな
  128. いつ解除するかわからないならキャッシュするな
  129. 「こんなこともあろうかと!」と言って喝采を浴びる日は来ない
  130. デスマに巻き込まれたかもしれないと感じたら、あなたが最初にやるべきことは病院を確認することである
  131. パブリックなところで愚痴るな

Discussion