2022年11月14日

DRYの原則



非常に個人的な感想ですが、プログラミングで熟練者と言われる人には面倒くさがりが多いような気がします。
もちろん例外はいますし、事実かどうか確かめたわけでもないのですが、私の知る範囲だと、「こつこつ」「繰り返し」「淡々と」ということを極力避けたがる傾向があるという印象です。私も含めて。

■同じことを繰り返すな


たとえば、スポーツの世界。
とうぜん、反射神経とか動体視力などのように持って生まれた才能もあるでしょうけど、スポーツで最も大切なのは、ひたすら地道に単調なトレーニングを繰り返して、体にその動きを覚え込ませることだと考えます。イチロー選手がそうであったように。

ところが、面倒くさがりな人というのはこうした地道な努力というものを「避けたいもの」と認識するわけです。だからといってそうしたことをしないわけではないですし、スポーツ選手であっても地道なトレーニングが好きだというわけでもないのでしょうけど、プログラマという人種は、こうした地道な繰り返し作業を嫌がる傾向があるように思います。

もちろん、好き嫌いにかかわらず、仕事なので必要があればやらざるを得ないですが、PC錠での作業であれば、作業を繰り返すより、プログラムを作ってPCに作業させるほうが楽だと考えがちなのです。

たとえば、特定のフォルダに10個ファイルを作らないといけない(中身は何でもよい)ときに、エクスプローラでそのフォルダを開いて
   右クリックで新規作成→ファイルでファイルを作る
という操作を10回繰り返すのではなく、10個のファイルを作るプログラムを書いて実行させるほうが楽だと思ってしまうようなものです。

プログラミングの世界にはDRYの原則というものがあります。
  Do not Repeat Yourself. 同じことを繰り返すな
略してDRY(ドライ)です。

ほとんどのプログラミング言語にはライブラリという機能があります。サブルーチンやオブエジェクトなど名前はいろいろですが、過去に作ったプログラムを再利用する機能です。これによって、多くのライブラリを持っている熟練プログラマほど、プログラマの生産性は高くなるのです。この生産性の差は数倍どころか数百倍にもなります。

ライブラリを作ってあると、ある機能を果たすために何度も同じプログラムを作る必要がなくなるだけでなく、つねに一定の品質が保たれるというメリットもあります。過去にきちんと動いたライブラリは、与えるパラメータさえ間違わなければ同じように動くことは保証されています。しかし、あらたに作ったプログラムはその動作をひとつひとつ確認しなければ安心して使うことはできません。

つまり、ライブラリがあるというのは、ライブラリがない人と比べてスタート地点がすでに違うのです。生産性は圧倒的に変わることは自明です。


■ライブラリ=自分だけのテンプレート集


ライブラリという考え方は、実際の仕事にも応用できます。

つまり、過去に作ったものをなるべく再利用できるようにしておけばいいのです。
それが「テンプレート集」です。

たとえば、メールに書く「お世話になります。○○株式会社の△△です。」という挨拶文。これを「お」と入力しただけで変換候補に出せるようにしておけば、ここまでのタイプ時間は10分の1にはなるでしょう。
定例会の議事録を書くのであれば、議事録に書くべきこと「会議時間」「出席者」「議題」などは最初から書いておくことができるでしょう。それを位置からタイアップする作業に比べたら、以下に生産性が変わるかは考えるまでもありません。

プレゼンなどで使う書式や図形も、だいたいは同じパターンの繰り返しです。
であれば、プレゼン資料で変えなければいけない部分だけを●●●などのようにしておいて、これを書き換えるだけにするほうが作業が簡単で、常に一定の品質のものが作れることは間違いありません。

ちょっと難しい言い回しは、一度書いたものは残しておいて、再利用できるようにしておくのがいいでしょう。
※「直子の代筆」というアプリがあります。これはテーマといくつかの質問に答えるだけで、ちゃんとした文章を生成してくれる優れものツールです。1987年リリースなのですが現役でつかえます。

自分の仕事を効率的に進めるために、テンプレート集(仕事の上で典型的なことをすべて再利用可能な状態にまとめたもの)を作っておくと、生産性は格段に変わります。


◆このテーマのおすすめ図書


テンプレート仕事術―日常業務の75%を自動化する

「ムダな操作の繰り返し」から解放される疲れないパソコン仕事大全

パソコン・スマホの「疲れ目」「視力低下」驚異の回復法

単行本

1日1話、読めば心が熱くなる365人の仕事の教科書

単行本

■同じテーマの記事

ボトルネックを見つける簡単な方法

「あなたが普段やっている作業の生産性を阻害している課題はなんですか?」この質問に簡単に答えられる人は多くないかもしれません。たとえば、毎日数十件のメールを送受信をしていますよね。その中でメールに返信するという作業(その中身については一旦横において)の課題は何でしょうか。たくさんの受信メールの中から返信が必要なメールを素早く発見すること?相手に悪印象を抱かれないように、文言を考えること?受信したら即座にメールの中..

失敗の科学

最近読んだ本『失敗の科学 失敗から学習する組織、学習できない組織』で感じたことなど。本書では、医療が失敗に学んでいないことと、航空業界が失敗に学び、交通事故などよりもはるかに安全な環境を実現していることから、失敗から何をどのように学べばいいかについて述べています。おそらくネットで検索すると多くの要約にヒットするでしょうから、ここでは私が感じたことなどを中心に、本書を紹介したいと思います。このため、要約されているポイントがかなり偏..

メールの10秒返信術

メールの返信の冒頭に、以下のように書いたことがある方は多いのではないでしょうか。・返信が遅れて申し訳ありません。・返信をしたつもりでしたが、できておりませんでした。2つめはほとんどいいわけです。メールの返信を忘れる理由返信を忘れてしまう主な原因は、返信を一旦保留することです。「このメール返信が必要だ」と思った時に、「ちょっと調べてから(確認してから)返信しよう」「もしかしたらさん(自分より詳しいと思って..

時間を無駄にする最も効果的な方法

多くの会社で、毎年テーマに上がるのが「効率化」。言葉は違いますが、残業時間削減とか、働きかたの改革とかいう美辞麗句で多くの会社が社員に改善提案を募り、それを実践することを要求しています。社員は社員で、何かの工数を少しでも削減すると、上司から、ひいては会社からの評価が高くなるため、それを目標の一部にします。多くの人は、「効率を上げる」ということを「良いこと」ととらえています。しかし、効率を上げるのはムダです。時間をムダ..

時間管理は必ず失敗する

過去に、下記のようなことにトライして、いつの間にかやらなくなってしまった経験はないでしょうか。これらはいろいろな書籍やセミナーなどで、ほぼ必ず紹介される時間管理手法です。・朝4時起きすればもっと高い成果が出せる・睡眠時間は6時間がベスト・飲み会に行くのは時間の浪費・通勤時間に本を読みなさい・スキマ時間にやれるちょっとした作業を持ち歩こう・30秒で取り書かれるように準備しよう自分のレベルは一流ではない最終的に、書籍の..

posted by 管理人 at 11:24| Comment(0) | TrackBack(0) | ハック | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック