難問にぶつかりました。
良い子の何でも相談室・ごみため分室宛に、イブマサトのふんころがしの唄のリクエストと一緒に来ていた質問を処理していました。
質問の内容は、ステップ数の定義の過去と未来を確認せよというものでした。
見渡すといろんなオレオレ定義があります。
- コメントを除いたソース行数に決まってんだろ
- デバッガでステップ実行したときに進む単位に決まってるジャン
- 論理的な実行単位のことだよ、キミィ
- ラインカウンタに聞いてくれ
- まさかいままで知らないで作業してないよね?
- パンチカード1枚が1ステップに相当
21世紀的なステップ数の定義は、LOCまたはSLOCとほぼ同じ定義です。日本語で書き下すとすれば、
コメントなどを除いた、意味のある行数
くらいでしょうか。無駄に改行を追加すれば、いくらでも行数は増やせるからです。「意味のある」というところがいかにも曖昧で困るのは業界の悩みです。
無駄な改行やコメントは冗長性が高いので、ソースをzipで圧縮して、圧縮ファイルのサイズで評価したらええと常々思っているんですがねぇ。
で、どうやらステップ数の由来はアセンブラ実装者方面から匂ってきます。たぶん、1命令=1ステップのつもりなんでしょうねぇ。アセンブラで書けばだいたい1行=1命令になります。コメントやラベルだけの行は数えないというわけです。
そんなものは高級言語(これも死語だな)では最初から通用しないのです。管理ボケしたおっさん連中の寝言に付き合う必要は元からないのです。
あるとき若者が聞くわけです。
ステップ数って何スカ?
いかにも今風にね。それに対する答えは大抵こんな感じです。
細かいことはXX君が知っているから彼に聞いてくれ。
公式のラインカウンタツールを使用していない現場では、ステップ数の定義は100%曖昧です。ある人は非コメント行数。別の人は、if~else~などは非カウント。別の人は、{や}だけの行も1ステップ。ごみためまんのような自称ベテランが、
そこの定義は明確にしないとまずいでしょ
とツッコムとどうなるか知ってますか?
じゃぁ、ごみためさんが定義とツールの整備してもらえますか
と言われて無駄な仕事が増えておしまいです。半年もすれば、そんなツールは誰も使わなくなるので無駄な仕事です。
英語でのステップ数は訳語がないんじゃないですかねぇ。あったら教えて欲しいですね。
つづき