プロが教える店舗&オフィスのセキュリティ対策術

シェルのSTEP数について教えてください。シェルスクリプトの先頭に、#!/bin/shとか書きますよね。この行はSTEP数のカウントに含めるべきなのでしょうか?

A 回答 (3件)

テストを実施する際のテスト量をざっと見積もる際、


コーディング規模を見積もるためのSTEP数なら、
コメントと空行を除くのが普通だけど。シェバン行は
形式的にはコメントだから無視することになるでしょうね。

おおざっぱにコーディング量を測るためのものだから
先頭1行を含める/含めないは誰も気にしないけど。
    • good
    • 1
この回答へのお礼

基本無視ですか。ありがとうございました。

お礼日時:2023/06/10 19:12

> STEP数に関する明確な規定ってあるのかと思ったのですが、現場依存なんですかね。


そうですね。ステップ数は、LOC(Lines of Code)と言いますが、
SLOC(Source Lines of Code)と言うのは、コメント行・空白行を除外したカウントです。
LOCがコメント行を含むのかどうかは、決まっていません。物理LOC(wc -l)や論理LOC(=SLOC)という言葉もあります。
コメントを省いてカウントしたいのは、関数の機能や引数の説明などのドキュメントを大量のコメントとしてソースに埋め込むケースが多いからでしょう。プログラムの複雑性を測りたいなら、コメント除外が良いです。

しかし、プログラマーの生産性を測りたいのであれば、上記のようなドキュメントを1行書くのはコード1行書くのとあまり変わらない手間が掛かりますし、関数仕様が変われば修正も必要です。テスト規模はどうなんだろうという気もしますが。
    • good
    • 0
この回答へのお礼

夜分ありがとうございました。LOC、SLOCなど勉強になりました。SLOCの場合は質問にも書きましたが、#!/bin/shみたいなのは除くんでしょうかね。

お礼日時:2023/06/08 23:32

カウントにコメントや空行を含めるのであれば、1行目も含めるべきですね。



コメントや空行を含めないのであれば、それは何故かの理由次第かと思います。

また、マルチステートメント(1行に複数命令)や、1命令を複数行に書く場合などどうカウントするかなどが明確に決まっていないルールなら、先頭行を含めるかどうかなど誤差の話です。

明確な詳細ルールが無い限り、wc -l の結果をステップ数とすれば良いのでは?
    • good
    • 1
この回答へのお礼

ありがとうございます。誤差の範囲ですね、本当に。STEP数に関する明確な規定ってあるのかと思ったのですが、現場依存なんですかね。

お礼日時:2023/06/08 22:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!