エッセイ一覧

プログラマが知るべき97のこと

  1. 分別のある行動
  2. 関数型プログラミングを学ぶことの重要性
  3. ユーザが何をするかを観察する(あなたはユーザではない)
  4. コーディング規約を自動化する
  5. 美はシンプルさに宿る
  6. リファクタリングの際に注意すべきこと
  7. 共有は慎重に
  8. ボーイスカウト・ルール
  9. 他人よりまず自分を疑う
  10. ツールの選択は慎重に
  11. ドメインの言葉を使ったコード
  12. コードは設計である
  13. コードレイアウトの重要性
  14. コードレビュー
  15. コードの論理的検証
  16. コメントについてのコメント
  17. コードに書けないことのみをコメントにする
  18. 学び続ける姿勢
  19. 誰にとっての「利便性」か
  20. すばやくデプロイ、こまめにデプロイ
  21. 技術的例外とビジネス例外を明確に区別する
  22. 1万時間の訓練
  23. ドメイン特化言語
  24. 変更を恐れない
  25. 見られて恥ずかしいデータは使わないこと
  26. 言語だけでなく文化も学ぶ
  27. 死ぬはずのプログラムを無理に生かしておいてはいけない
  28. 「魔法」に頼りすぎてはいけない
  29. DRY原則
  30. そのコードに触れてはならない!
  31. 状態だけでなく「ふるまい」もカプセル化する
  32. 浮動小数点数は実数ではない
  33. オープンソースプロジェクトで夢を実現する
  34. API設計の黄金律
  35. 超人の神話
  36. ハードワークは報われない
  37. バグレポートの使い方
  38. 余分なコードは決して書かない
  39. 最初が肝心
  40. プロセス間通信とアプリケーションの応答時間の関係
  41. 無駄な警告を排除する
  42. コマンドラインツールを使う
  43. プログラミング言語は複数習得すべき
  44. IDEを知る
  45. 限界を知る
  46. すべきことは常に明確に
  47. 大量のデータはデータベースで
  48. いろいろな言葉を学ぶ
  49. 見積りとは何か
  50. Hello, Worldから始めよう
  51. プロジェクト自身にしゃべらせる
  52. 「その場しのぎ」が長生きしてしまう
  53. 正しい使い方を簡単に、誤った使い方を困難に
  54. 見えないものを見えるように
  55. 並行処理に有効なメッセージパッシング
  56. 未来へのメッセージ
  57. ポリモーフィズムの利用機会を見逃さない
  58. テスト担当者はプログラマの友人
  59. バイナリは常に1つ
  60. 真実を語るはコードのみ
  61. ビルドをおろそかにしない
  62. プリミティブ型よりドメイン固有の型を
  63. ユーザの操作ミスを防止する
  64. プロのプログラマとは?
  65. バージョン管理システムを有効に使う
  66. いったんコンピュータから離れてみる
  67. コードを読む
  68. 「人間」を知る
  69. 車輪の再発明の効用
  70. シングルトンパターンの誘惑に負けない
  71. パフォーマンスへの道は地雷コードで敷き詰められている
  72. シンプルさは捨てることによって得られる
  73. 単一責任原則
  74. 「イエス」から始める
  75. 面倒でも自動化できることは自動化する
  76. コード分析ツールを利用する
  77. 偶然の仕様ではなく本物の仕様のためのテストを書く
  78. テストは夜間と週末に
  79. テストのないソフトウェア開発はあり得ない
  80. 1人より2人
  81. エラーがエラーを相殺してしまう
  82. 他者への思いやりを意識したコーディング
  83. UNIXツールを友にする
  84. 正しいアルゴリズムとデータ構造を選ぶ
  85. 冗長なログは眠りを妨げる
  86. WETなシステムはボトルネックが見つかりにくい
  87. プログラマとテスターが協力してできること
  88. コードは生涯サポートするつもりで書く
  89. 関数の「サイズ」を小さくする
  90. コードを見る人のためにテストを書く
  91. 良いプログラマになるには
  92. 顧客の言葉はそのまま受け取らない
  93. エラーを無視するな
  94. リンカは魔法のプログラムではない
  95. ペアプログラミングと「フロー」
  96. テストは正確に、具体的に
  97. ステートに注目する

日本人プログラマによる知っておくべき10のこと

  1. 命を吹き込む魔法
  2. ロールプレイングゲーム
  3. ルーチンワークをフローのきっかけに
  4. プログラマが持つべき3つのスキル
  5. 快適な環境を追求する
  6. 見知らぬ人ともうまくやるには
  7. 不具合にテストを書いて立ち向かう
  8. 育ちのよいコード
  9. Noといえることの大事さ
  10. 名前重要