KISS原則~プログラムは、シンプルでさえあればいい

kiss-principle
KISS原則

Keep it simple, stupid!

シンプルにしておけ!この間抜け!

Keep it simple, stupid” の頭文字をとって、KISS原則です。

コードを書くときには、複雑でわかりにくいコードにせず、シンプルでわかりやすいコードを書くようにしよう、という設計原則。

プログラミングでもっとも重要な原則といえるでしょう。プログラミングのあらゆる問題の8割はこれで解決します。決していいすぎではありません。

目次

どんなときに使える?

シンプルにできることに気づいていない

新人くん

やったー!プログラム完成しましたよー

for(int index = 0; index < 4; ++index) {
    switch(index) {
        case 0:
            funcA();
            break;
        case 1:
            funcB();
            break;
        case 2:
            funcC();
            break;
        default:
            funcD();
    }
}
リーダーさん

なんか…むだに複雑じゃない?

単純に「もっと簡単にできるじゃん」のパターンです。

実は、こう書くのとまったく同じ。

funcA();
funcB();
funcC();
funcD();

これだけ見ると単純。ただ実際は、他の大量コードの中に混じり気づかないときもある。

これが起こるのは、

  • ろくにプログラム設計していない
  • 設計をろくにみていない

ようなとき。要は、いきあたりばったりで作ってる

複雑になりそうな予兆があったら、立ち止まって設計をみなおしましょう。

シンプルをはき違えている

イケイケくん

見てください!チョークールなコード書きましたよウェーーイ!

int a = 5;
int* b = &a;
int c = 0;

for (int i = 0; i < sizeof(int) * 8; i++) {
    c |= ((*b >> i) & 1) << (sizeof(int) * 8 - 1 - i);
}

cout << c << endl;
リーダーさん

すっっごく分かりにくい…

中堅プログラマーあたりだと、プログラミングも慣れてきて、いろいろなテクニックを身に着けます。こうなると、テクニックを駆使してトリッキーなコードを書きがち

上の例は、変数aのビットパターンを反転した結果を変数cに格納する。というプログラム。

…ぱっと見て分からない。

こういうのは、たとえ正しく動いたとしても、あとでメンテナンスができなくなります。

シンプルとは「人の目からみてシンプルにみえる」こと

考え方の基準としては「半年後の自分がみて、理解できるコードになっているか」。これを客観的に考えましょう。

まとめ

シンブルにすること、は、きっとすべてのプログラマーが理解しているはず。

それでもこのKISS原則があるのは、がシンプルなのかを考え続けるのが大事、だから。

全力でシンプルを追い求めましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次