コードの行数を減らすと生産性があがりバグも減る [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
この事実を発見してから我が社では既存のコードを修正し、
行数(正確にはステップ数)を極限までに減らす修正をすることで
バグを大幅に減らして生産性も大きく上げる事に成功した。 >>1
可読性まで犠牲にして逆にバグが発見でき無いコードにならんようにな。 できるだけ改行しなければいいのか。
そんなソースコードとは関わりたくないが。 アホやw
行数よりも
コードの見やすさとコメント量の方が大事
誰が見てもわかりやすいコーディング
メンテで差がつく でもコードの行数がすくなければ
メンテする量も減るんですよ。 >>7
そりゃ、処理、機能がないんだからそうなるなw コメントも多すぎると、そのコメントのメンテナンスも
必要になるから、コメントも少ないほうがいい。 >>10
どこかまずい所があったら直しますんで、
具体的に指摘してみてください。 こんなん当たり前の話とちがうん?
昔のエライ人が言ってだろう?
「シンプル・イズ・ベスト」
簡単なモノは壊れにくい。複雑なモノほど壊れやすい。
これはプログラムコードにも当てはまるんよ。
俺はもう設計屋だから、コード書かせるときに必ず若いもんにこれ言うわ。 >>14
その当たり前のことが出来ないんだよね。
ソフトウェアの難しいのは、
バージョンアップしていく所。
大きい物と小さい物は作り方が違うんだけど、
小さく作って大きくしていく時に、
既存の部分を大きい作り方に直さないといけないんだけど、
「既存の部分に手を付けるな」とかいう馬鹿な奴が
指揮をとると、どんどん複雑になって手がつけられなくなる。
既存の部分を修正すれば、1.1の量で済むことが、
手を付けれないからコピーして、2になる。 本当に手を付けられないコードは、ある。
コードに手を入れればコード増加は少ないだろうが、リグレッションテストの工数が増えるだろ?
どっちの工数が少ないか秤にかけ、コードに手を入れない事は、フツウにあるだろ?
どっちがいいかは、プログラマには関係ないことだ。 > リグレッションテストの工数が増えるだろ?
そうならないように自動化すればいい。
結局オレが言ってることと一緒で、
手を入れるから増えるのではなく、
手遅れになってるから増えるんだよ。 >>16
> どっちがいいかは、プログラマには関係ないことだ。
いや、プログラマが判断することだろ。 >>1
生産性の定義すら提示してないから、もともと議論する気はなさそうだな。 シンプルなソースと行数は相関関係がないと思うんだが
一行に纏めて読みづらいif文よか5行でも読みやすい方が
保守工数は減るんでね >>19
単位時間当たりの生産量だろ?プログラマなら、単位時間当たりの
コーディング量+テスト量って事になる。 >>22
共通関数用意してるのに使えないから誰も使わなくて至る所で同じような処理が行われてるとか、
しかもそれが微妙に違うから各モジュールでデータをやり取りするときに変換かけないといけないとか
そういうのは? つまりなんだ、このスレはソースコードの負の遺産の話でしょ
ゴミや糞は片付けよう! 少ない行で書けるシンプルなコードを書けということで行数を減らすのが目的ではないよな 行数が問題なんじゃねえよ
instructionが少なくなるように書けっつってっだろ? >>28
>>1の
> 行数(正確にはステップ数)を
を読んでますか? >>29
はあ?
instructionだよアホ
頭ん中で簡単なアセンブリしながら書けっての if文に関数コール埋め込んだりすると行数は減るがデバッガで追いにくくなるんだが 三項演算子とかも二重三重にまとめ書きして行数減らすのが推奨?
解読困難になるけど >>32
最近はデバッガで追うようなことはしなくなってるよ。
まずはテストコードが書けるようなシンプルな関数を作る。
テストコードがあればデバッガはほとんど必要ない。 コーディングスタイルで行数を減らすって話じゃないだろ
その機能を実現するのに最適なロジックを選択したら行数も減るってことの裏返しを言ったんだよな?>>1 >>20
お前だけ、経営者が決めた生産性でやってれば良いんじゃね? >>38
ソースコードを眺めて(セルフレビュー)して
間違いを見つける。
これができない=コードが複雑 ということ ただの裏方データ処理ならいくらでもシンプルにできるだろうけど
GUIが入ると人間の曖昧性を処理しなきゃいけないから
コードをシンプルにすればするほどゴミUIに近付いていく >>40
コード読むとのんびり?
あんた、他人がコードレビューしてないの?
読むのに時間がかかるコードだから?
終わってるねw 眺めるならテストコードとパターンだろ。
テスト結果が合えば終わり。
合わなきゃテストパターンから原因箇所は特定できる。
お前のセルフレビューが正しいって保証はどこにあんだよ。 >>45
そうだよ?
レビューとデバッグは両方やるし、その両方でコードを読む。
だからコードはスムーズに読めるに、なっていなければならない。
コードは解析するものじゃない。
デバッグで解析は楽ですーっていっても、
レビューでコードを読むわけで、コードを読む=のんびり。であるなら
まずその問題を解決しなければならないよね?
で、その問題が解決できれば、コードを読んでバグの修正もできる。 >>46
問題にしているのは、コードを読む時間ではない。
バグの修正にデバッガを使わないことで無駄になる時間を問題にしている。
あるバグを修正するのに、デバッガを使えば1分で原因が特定できたのに
使わなかったために原因の特定に10分かかった場合は、9分間給料泥棒
やってたことになる。
30分コード見ても原因が特定できずに、結局デバッガ使うことになったら
30分まるまる給料泥棒だ。 >>47
そもそも、デバッガを使っても
時間は短くならない。 >>49
逆w
酷いコードだと
中で何やってるかわからないから
デバッガ使って動かしてみないとわからない。
ちなみに基本的にコードレビューというのは
実行しないで行う。 主な使い捨て実態派遣作業
・データ > ロジック
・簡単ロジック
・大量データ
・フレームワーク
・Web
・DB
・SE適性不要
・IT資格不要
・大卒資格不要
・文科系対象
・体育系対象
・業務系処理
・商業系業種 同じコードを2度書くな
大切なことだからもう一度書いとくよ
同じコードを2度書くな
コードの行数は減ることが多い
単体レベルのテストは減る
同等のコードなので生産性は上がらない
コードが分散しないのでバグは減る
同じコードを2度書くな(大切なのでry
違和感があるときはリファクタリングのタイミング >>52
二度以上書かないとならない数行のコードなんて普通にあるから。
おまいの書いた内容程度の行数なら何回でも同じコードを書いてもいいよw 類似性のある複数のコードは、相違点だけを引数とかで吸収するようにして纏めてしまえ、てことなんでしょ
纏め方も、サイズ重視か速度重視かで関数なのかマクロなのか変わるだろうけど そんな意味の無い関数作るなw
マクロは引き継ぎ者が迷惑する。 >>52
大切なことだから何度も同じコードを書いてるってこと? >>54
似てるからまとめました
は後でメンテするときに非常に迷惑。 むしろ、似てないけど同じ意味だからまとめましたを推奨すべき いや、まとめちゃいかんな。
同じインタフェースにしましたにすべきだな。 コピペはそれはそれで間違えるんだよな
コピペのあと一箇所変更しないといけない、みたいな時に変更忘れたり間違えてたり DRYの法則とか人から聞かないとそういう考え方が
存在するっていうのすら分からんからなあ。 大体、ロギングとかで困るな。
プロキシ作ってやるのがええけど、めんどいよな。 ☆ 日本の核武装は早急に必須ですわ。☆
総務省の『憲法改正国民投票法』、でググってみてください。
日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である
改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。 アプリケーションの生産性と、
アプリケーションを構成するソースコードの情報エントロピー
の相関から情報理論を組み立てている人がいるよ。
その人は今、その情報理論に基づいて、
ttps://cooplights.info
でライセンスやアーキテクチャを作っているみたいだけど、スレ主は注目する価値があると思うよ。 >>67
その人にサイトの可読性が悪いって伝えておいて
目がチカチカする 【 オンラインTCGエディター 】 >>1
デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。
例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っておりながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
バトスピ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、ガンダム・ウォー、ライブオン、ディメンション・ゼロ、カードヒーローなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。
設計思想は 《 RPGツクール 》 が良いかな? 他に、優れたエディター有ったら挙げてみて。
個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。
↓
エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。
↓
遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
なるべく前述3つで可能な再現は全て実装させる方向を目指す。 まぁ努力する・・・
バトスピ、ヴァンガ、バディ、デュエマなど発売済みゲームソフトが存在してるケースはベンダーに研究させる。
↓
各社TCGを再現するテストプレイ ⇒ 更に改良や修正。
↓
機能制限した下位版を5万円以上で発売 + デュエリ−グ用に改造した上位版でサーバー稼動=営業開始。
↑
下位版の改造および商用利用には、別途で当社との契約が必要。
さ〜て、製作ベンダー見つけよっと!ww(クス
http://wc2014.2ch.net/test/read.cgi/entrance2/1447639727/-18 転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される 職種にもよるが業務系であればコードの整理よりも扱ってるデータの整理が最優先。
データを整理・管理・保守しやすい形にすればコードは自ずとスマートになる。
コードは結果だお。 残業SEは大迷惑!
時間外労働違反となる
契約に作業期限はない
契約の延長がなくなる
健康障害をもたらす
対人障害をもたらす
能力評価が低下する
生産評価が低下する
時間報酬が低下する
学習時間が減少する
副業時間が減少する
訴訟が増加する
失業が増加する
貧困が増加する
独身が増加する
早死が増加する 同じような処理はメソッドにまとめろってことだろ
それはそのとおりだ >**社のライブラリの中にバグがあった!!! オワタ!!!
→いつもこうなる phpだったらphpcsとかphpmdに通せばいいんじゃないの?
gitのフックにしてるとこもあるし
psr準拠なんてかったるくてやってられないけど、
それなりに見栄えはよくなるよね なんで「Code Complete」を参照しないのかわからんね
第二版(上巻)の7.4で
・ルーチンは100〜200行に増えてもよしとすべきである
・200行を超えるサイズのルーチンについて、コストの低下、エラー発生率の低下、またはその両方を報告している調査は一件もない
と、マコネルがすでに調べてくれている マコネルのはPythonみたく「コードは全部数式みたいにワンライナーしてるのがキモチイイ!」
みたいなグイドの発想は反映してなかったと思うんでアレだが
切り詰め主義はお勧めできない
ワンライナー主義ってのは、意味論的にはネストかましてるのと一緒だから
状況がアレでも3段、どんだけひどかろうが4段(ジャグドアレイとか行列あつかってたらあり得る)
それ超えたら後のメンテに影響する
平均的な人間なら変数とか全部含めて7コ以上の何かを超えたら
脳みその短期記憶からなんか落ちる、ってのは心理学の世界で知られてることだ ワンライナーの変数と、ワンライナーそのものでやってることと、で含めたら
まぁ精々1行2か3、while ((c = getchar()) != EOF) あたりが限度だろう 目的と理由が無い指示はたいてい捻じ曲げられて本来の意図と異なる結果しか産まない。 コードが長いからダメ
コードが複雑だからダメ
んなこと言ってる奴は向いてないから辞めれw >>83
ダメではないが後日の改修時に「コードを読んで改修ポイントを断定する」
の工数が伸びて無駄遣いになるから褒められたことではない、程度 改修しなきゃコメントなんていらねーんだよ。
改修なしでいいほどの良プログラマもいないだろうけと。 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
K7FO56VATS とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
SGBQD 1クラスの行数が1000行
1メソッドの行数が100行
やばいっすかね? 当たり前のことを言われても・・・・
馬鹿ほど、いろんなことを想定して汎用性のあるプログラム書こうとして大変なんだよ。
そして無駄にコードを長くする
実際には再利用はされても変更が発生するときには、さほどの汎用性は役に立たないことが知られているのに。 廃棄できるコードなら良いだろ。gotoスパゲッティで書かれたコードなんか、
簡単に破棄なんて出来ないぞ。何が起こるか予想できないからな。 下手なやつほどコードが長くて複雑
確かにこれは真理だは >>88
「1クラスの行数が1000行 」の方は別にヤバくないような。
「1メソッドの行数が100行 」の方はちょっとあれだけど。 【偽装請負】SEの結婚障害原因【多重派遣】
☆偽装請負多重派遣SEの結婚相手の犠牲原因☆
両親や親戚に反対されましたが、偽装請負の多重派遣会社に家庭財産を高額搾取させ、時間外労働違反をして家事をしないSEと結婚してしまい、生活困難で中絶と離婚をしました。現在は犯罪系人格でない相手と共働き生活をして、子供にも収入にも恵まれました。
・キモい
・モラルがない
・ファッションセンスがない
・コミュニケーションが苦手
・コンピューターが趣味
・プログラムの料金以上の不利益生産
・プログラムの巨額利益を客先に提供
・プログラムの巨額報酬を人売に提供
・プログラムの知的財産を人売に提供
・ITスキルが高いのに低料金請求
・高度情報処理技術者なのに請求料金不足
・高利益なのに請求料金不足
・高生産なのに請求料金不足
・高需要なのに請求料金不足
・学習多いのに請求料金不足
・人員不足なのに早期退職
・会社員なのに早期退職
・PC使用過多で不健康
・運動不足で不健康
・高稼働で不健康
・高稼働で家事困難
・低収入で生活困難
・低収入なのに鬱病多発
・低収入なのに早死多発
・不利益なのに断らない
・偽装請負の多重派遣損害あるのに稼働
・裁判官が技術判断不能だから賠償困難
【IT業界】独身が多い職業の象徴として「ITエンジニア」が取り上げられる
http://itpro.nikkeibp.co.jp/atcl/watcher/14/334361/110200713/?ST=spleaf 【犯罪】無能時間外労働違反SEの追放【損害】
☆不利益で迷惑だから料金増やすか生産減らせ☆
【契約料金や知的財産の生涯損害促進者ばかり】
[偽装請負多重派遣の従犯SEを追放すべき]
偽装請負多重派遣SEの動機
コミュニケーション障害
コンピュータ趣味
人格障害
文系大卒
低偏差値大卒
情報処理資格非保有者
偽装請負多重派遣SEの迷惑
無償プログラム提供
事前面接
契約外期限遵守
客先指示遵守
知的財産譲渡
中間搾取促進
時間外労働違反
低予備工数見積
残業見積
無料追加
学習不足
裁判苦手
対人障害
健康障害
孤独死
偽装請負多重派遣SEの代償
低収入低技術
非婚離婚
鬱病早死 >>22
入力値のチェック処理が20件くらいあるのを
巨大な1つの論理式のIF文で書いていたヤツがいたのを覚えている。
メンテナンスできないという理由でバラすことになったけど。 行数っていうかLLOCよね。論理的な行数。
>>104
そういうのは && とか || とか多様してると思うけど、
通常の循環的複雑度(CCN1)だと1として計算されるんだよね。
CCN2だと && や || をそれぞれ一つとして計算してくれる。
ちなみにCCN3だとswitchでcaseがいくつあっても1になる ■ このスレッドは過去ログ倉庫に格納されています