「プログラマの三大美徳」 なる法則が存在する。
プログラマが本職ではないけど、個人的にかなり意識しちゃってる。
これは、Perl を開発した Larry Wall の言葉で
  • 不精/無精 (laziness)
  • 短気 (impatience)
  • 傲慢 (hubris)
の3つを「美徳」とする考え方。
3つの言葉 だけ を聞くと、ただの「クズ人間の特徴」。
でも、一つ一つの言葉にはキチンと意味がある。興味のある人は ググって

さて、先日の日記にも書いたんだけど、今仕事で JavaScript を弄っている。
膨大な数の表を HTML 上で見せたり・隠したりするスクリプト。

で、実際の作業をしていくとすると、例えば表が100個あったとして、<table> を100個分ズラーッと用意し、表の中身の <td> を山ほど・・・。
これはもうスンゴイ面倒。
「ハイやって」と言われても、いやーんな感じになるのは当然だ。
そこでプログラマは「不精」という考え方をする。

簡単に書くと、こうだ。
  1. <table> 100個なんてイヤだ
  2. 表を1個だけ用意
  3. 表の中身を JavaScript で書き替えちゃうもんねー
  4. ガリガリとコーディング
  5. 「不精」大成功
  6. やったー
  7. モテモテ
ああ分かりやすい。

それと、今後のメンテナンス性
  • 表の数が増えた時
  • 表の内容が変わった時
  • デザインが変わった時
こういった先々の事を考えてコードを書くことで、「後でどんだけラクができるか」が大きく変わってくるんだよね。
タイトルにも書いた 「ラクをするための努力」 とはこういう事。

「ラクをするための努力」は一見矛盾した考え方だけど、プログラミングに限らず、あらゆる事に通用する考え方だと思っている。
特に毎日繰り返される家事や仕事なんかは、始めにちょっと努力しておけば、日々の苦労が軽減されるんだけどね。
そこに頭を使えるか否かで、デキる人・デキない人に分かれちゃうんかなあ。

なーんて書いてたら、大幅な仕様変更が発生!
くっそー。