Notion と DRY 原則

// 🙎‍♂️ Yuji Tsuburaya📆 January 30, 2020🔖 Notion

プログラミングの世界には DRY という言葉があります。 DRY は Don't Repeat Yourself の略で、同じことの繰り返しは避けるべきだというプログラミングの大原則の 1 つです。

なぜ、同じことの繰り返しは避けるべきなのでしょうか? たとえば、ソースコード上に同じロジックが別の場所に 2 つ存在していた場合を考えてみましょう。 後々の仕様変更でロジックに修正が入った際に、同じロジックが 2 箇所に存在していると、2 箇所修正する必要が出てきてしまいます。 これにはヒューマンエラーのリスクや、改修漏れ、ほかにもいろいろなリスクが考えられます。 当たり前のことのように思えるかもしれませんが、開発の現場では、これは非常によく起こることです。


僕は、Notion で情報を整理する際にも、DRY 原則を適用するのが良いと考えています。 たとえば、以下は情報が重複してしまっている例です。

「買い物リスト」と「今日の買い物リスト」に「今日りんごを買う」という情報が分かれて存在してしまっています。 りんご購入後にチェックを入れるシステムだとすると、2 箇所にチェックを入れる必要が出てきてしまいます。

もし、りんごのメモが複数あることを忘れてしまって、一方にのみチェックを入れてしまった場合はどうなるでしょうか? 一人でメンテナンスしている場合は記憶を辿ればりんごを購入したかどうか分かるので良いのですが、 複数人でメンテナンスしている場合には、あっという間に迷宮入りとなってしまいます。

どうすればよかったのか?

では、このシステムのどこがいけなかったのかを考えてみましょう。

答えはみなさんお分かりのとおり、 「買い物リスト」と「今日の買い物リスト」という情報が重なった 2 つのリストが存在してしまっていたことが問題でした。 (りんごを複数のリストに入れてしまった、というのも問題ですが、今回はよりクリティカルな「設計部分」に着目します。)

たとえば以下のように改善してみます。

プログラミングの世界には DRY という言葉があります。 DRY は Don't Repeat Yourself の略で、同じことの繰り返しは避けるべきだというプログラミングの大原則の 1 つです。

2つのリストを統合し、今日買うものには ⭐ を付けることにしてみてはどうでしょうか? 同じ情報が 2 箇所にばらつくという課題は解決されました。

しかし、これだと、名前をいちいち変更しなければならず、 また、検索やソートもしにくいシステムとなってしまいます。 当初の課題は解決されましたが、もう少しブラッシュアップできそうです。

さらにブラッシュアップした例が上のスクリーンショットです。Notion の強力なテーブル機能を用いで、情報にフラグを持たせることにしました。 購入済みのものにはチェックが入り、また、すぐ買う必要のあるものは、タグが付いているので一目瞭然です。 このように、Notion には 1 つのデータに対し、自分で定義した複数のメタデータを付けることができます。これは Notion の機能の核となる部分です。

まとめ

今回は、だいぶ簡単な例を取り上げましたが、情報の重複はすぐ起きてしまう問題です。 GTD の思想でも「頭の中にある気になる事全てを信頼できシステムに預ける」というものがあります。 Notion を信頼できるシステムに保つためにも、情報の重複を取り除く設計を今一度考えてみてはいかがでしょうか?


Notion にお困りの際はお声がけいただければ相談に乗れますのでお気軽にツイッターで DM どうぞ。

🔗 (少しニッチな)Notion の使い方まとめ

シェアしてくれたら喜びます 👨‍🎤

広告

書いた人

___35d

Yuji Tsuburaya (@___35d

👩‍💻 Frontend Engineer

🏢 J-CAT CTO Co-Founder / ex. BizReach

🎨 by @ch1ch1ch1_123

💚 Minimalism / Notion / Figma

📱 Author of @FastNotion

詳しいプロフィールはこちら

広告