アカウント名:
パスワード:
クソコードというかクソコーディング規約ですが。本気でどうしようかと思った。
#関数名が通し番号とかじゃないだけマシだったと思うほかない
>【1関数50ライン、1モジュール500ライン、1ライン80カラム】杓子定規に従うのはまぁ、なんだと思うが、言っていることは割とまともだと思うが。これらを越えると、正直読みづらくて頭に入らない。
まあ3000行くらいのループが3つくらい入っているswitch文で、1万行くらいの関数があるよりマシですね。
1メソッドなんて20行もあれば十分でしょう。>Smalltalk50行もあったら、コードレビュー以前の問題でしょう。
Pro*C書いたことは無いですが見たことはあります。 あの言語は、SQLとかプログラム中に普通に登場するから行数が増えるってことですよね?
普通の言語(JavaにしろPHPにしろ)なら真っ当なコーディング規約でも、それを違う言語にそのまま持ってくると糞規約に早変わり、というのは有り勝ちなことです。 どちらかというと、COBOLとかCとかの規約をJavaやらに持ってこられて泣かされるケースの方が多いですが・・・。
50行 -> 25Line x280カラム -> 半角80文字
もしかして、dos時代に作られた規約なんじゃ....
きっと、昔いじめられっこでクラスという文字を見るのが嫌なんだろうね。
> #関数名が通し番号とかじゃないだけマシだったと思うほかない
COBOLer disってんの?
#関数名どころか変数名も英字+連番・・・
COBOLだけじゃなく大規模開発の旧態依然な体制のプロジェクトではありがちではなかったかと# 自分の経験では今は無き某銀行のPL/Iで書かれたシステムで有りましたが
MSXのBASICを思い出した。
W88- の部分などは言語仕様によって決まっている部分なので、「変数名の付け方」的なコンテキストの話では含めてはいけない部分だと思いますが。 Perl で言えば $ とか @ とかと似たような感じでしょうか。
むしろ、その後の部分にマルチバイト英数書かれたりとか、そっちの方がヤバいですね。 メソッド名でマルチバイト文字列を使うのは、テストコードなんかでかなり有効だと思いますけど、それ以外はちょっと……。
それ、かなり古い話なんでしょうか?私がこの業界に入った90年代には既に記述的な名前をつけろ、と教育を受けているのですが。まぁ、そういうソースを見た事はあるし、せっかく記述的な名前にしたのにA000000~A999999でリネームさせられた事はありますが。
# 挙句、それを見て「よし、分かりやすくなった!」と来たもんだ。# コーディング規約は無しでした。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
クラス禁止 (スコア:1)
クソコードというかクソコーディング規約ですが。
本気でどうしようかと思った。
#関数名が通し番号とかじゃないだけマシだったと思うほかない
Re:クラス禁止 (スコア:1)
これでもProCの規約だったりする。
ほぼ全てのモジュールでカラム数以外超えまくりでしたがね。
Re: (スコア:0)
>【1関数50ライン、1モジュール500ライン、1ライン80カラム】
杓子定規に従うのはまぁ、なんだと思うが、言っていることは割とまともだと思うが。
これらを越えると、正直読みづらくて頭に入らない。
Re:クラス禁止 (スコア:1)
で、自分が担当した物で一番小さかった関数でも100ラインを軽く超え、複数行にまたがっての記述
だらけになり、見た目の行数は非常に多くなるんですよ。
Re: (スコア:0)
まあ3000行くらいのループが3つくらい入っているswitch文で、
1万行くらいの関数があるよりマシですね。
1メソッドなんて20行もあれば十分でしょう。>Smalltalk
50行もあったら、コードレビュー以前の問題でしょう。
Pro*CはSQL書くから・・・ (スコア:0)
Pro*C書いたことは無いですが見たことはあります。
あの言語は、SQLとかプログラム中に普通に登場するから行数が増えるってことですよね?
普通の言語(JavaにしろPHPにしろ)なら真っ当なコーディング規約でも、それを違う言語にそのまま持ってくると糞規約に早変わり、というのは有り勝ちなことです。
どちらかというと、COBOLとかCとかの規約をJavaやらに持ってこられて泣かされるケースの方が多いですが・・・。
Re:Pro*CはSQL書くから・・・ (スコア:1)
初期値に1を入れる数値変数であっても、必ず0で初期化を入れろとか・・・。
各関数に入れるお決まりのロジックだけで10行超えるのに、これ入れて50行でしたし。
#変数名・関数名の命名規則はまともだったのになぁ・・・
Re: (スコア:0)
50行 -> 25Line x2
80カラム -> 半角80文字
もしかして、dos時代に作られた規約なんじゃ....
Re:クラス禁止 (スコア:1)
Re: (スコア:0)
きっと、昔いじめられっこでクラスという文字を見るのが嫌なんだろうね。
Re: (スコア:0)
> #関数名が通し番号とかじゃないだけマシだったと思うほかない
COBOLer disってんの?
#関数名どころか変数名も英字+連番・・・
Re:クラス禁止 (スコア:1)
COBOLだけじゃなく大規模開発の旧態依然な体制のプロジェクトではありがちではなかったかと
# 自分の経験では今は無き某銀行のPL/Iで書かれたシステムで有りましたが
Re:クラス禁止 (スコア:1)
初版が1970年代のソース、変数が英数で2文字だった。
Re: (スコア:0)
MSXのBASICを思い出した。
Re:クラス禁止 (スコア:1)
W88- の部分などは言語仕様によって決まっている部分なので、「変数名の付け方」的なコンテキストの話では含めてはいけない部分だと思いますが。
Perl で言えば $ とか @ とかと似たような感じでしょうか。
むしろ、その後の部分にマルチバイト英数書かれたりとか、そっちの方がヤバいですね。
メソッド名でマルチバイト文字列を使うのは、テストコードなんかでかなり有効だと思いますけど、それ以外はちょっと……。
Re: (スコア:0)
それ、かなり古い話なんでしょうか?
私がこの業界に入った90年代には既に記述的な名前をつけろ、と教育を受けているのですが。
まぁ、そういうソースを見た事はあるし、せっかく記述的な名前にしたのにA000000~A999999でリネームさせられた事はありますが。
# 挙句、それを見て「よし、分かりやすくなった!」と来たもんだ。
# コーディング規約は無しでした。
Re: (スコア:0)
そして関数をExcelの台帳で管理して、さらにそのExcelが共有に失敗して上書き破損して...
#半分自社の悪口になってしまうのでAC