• 締切済み

一クラス何ステップ以上で読むのが嫌になる?

職業プログラマの方に質問させて頂きたいと思います。 一般的に、.NET系の言語で、一クラスが何ステップ以上になると読むのに嫌気がさすものでしょうか?(コード自体は綺麗に書かれているものとして) また個人的に、「これ以上のステップ数になるのはできる限り回避する」というステップ数の基準がありましたら、併せてお答え頂ければ幸いです。 大雑把な印象で全く構いませんので、どうぞよろしくお願い致します。

  • tekan
  • お礼率80% (46/57)

みんなの回答

  • sgwjn
  • ベストアンサー率70% (47/67)
回答No.3

ステップ数の制限は、手続き型言語で意味があることでオブジェクト指向言語ではあまり意味がないでしょうね。 手続き型言語のようにAしてBしてCする、というような考え方であれば、AとBとCで処理(関数)を分けろってことになります。そして、1処理は30~100ステップもあれば十分なことが多いので、それ以上長い場合はもっと分割できるんじゃないの?ってことになるわけです。 ですが、オブジェクト指向言語のようにモノを中心に考えると、Aというモノを大きいからといってA1とA2に分割するのは、オブジェクト指向言語の思想そのものを否定するようなものではないでしょうか。仮にdoorというクラスがあったとして、open()とclose()が別クラスになっていると正気を疑ってしまいます。 とはいえ、ステップ数が少ない(簡潔に記述している)方が良いことは間違いないと思いますので、冗長なプログラムにならないような配慮は必要だと思います。

tekan
質問者

お礼

具体的な解説ありがとうございます。 オブジェクト指向の思想が伝わってきました。 ご回答ありがとうございました。

  • mozori01
  • ベストアンサー率26% (7/26)
回答No.2

そうですね~。 No.1さんの意見に概ね同意です。 要は読むのが嫌になる基準はステップ数にはありません。 無駄に長いのは嫌ですけどね。

tekan
質問者

お礼

ご回答ありがとうございました。

  • maguro999
  • ベストアンサー率21% (59/273)
回答No.1

そんなの意味の無いこと。 そのクラスの機能によってステップ数だって変わってくるし 読むのがいやになるからとステップ数を少なくするために 一部機能を別に分ける必要も無いのに別クラスにすると逆に 読みにくいソースになりますし。 そもそもステップ数で読むのがいやになることは無い。 コード自体は綺麗に書かれているいないもあまり関係ない。 それよりコメントが適度に入っていてソースを追っかけやすいかどうかの 問題。

tekan
質問者

お礼

なるほど。。 参考になります。 ご回答ありがとうございました。

関連するQ&A

  • ■週報でステップ数を報告するときの疑問

    既存のコードを見直して書き直した結果、 クラスのステップ数が減った場合、 どのように成果を報告をすればよいのか悩んでいます。 下の場合、成果として報告できるステップ数は幾らになりますか? 【先週】総ステップ数1000ステップ 【今週】総ステップ数900ステップ(先週比:マイナス100ステップ) 上の【今週】ように上長へ成果報告をしたのですが、 結局何ステップ書いたのか分からないと注意を受けたので 削ったステップ数+追加したステップ数を成果ステップ数とすると 今度は総ステップ数との関係の説明が上手くいかず悩んでいるところです。 どうかよろしくおねがいします。

  • 小規模な顧客管理システムのステップ数を勘で答えて

    職業プログラマの方に質問させて頂きたいと思います。 「小規模な顧客管理システムのWindowsアプリケーション」の開発を任されたとします。 画面数は4で、工数は3人月くらいとします。 この場合、「メインフォームの」ステップ数はどの程度と予想されますか? ぱっと思いついた数字で全く構いませんので、お答え頂ければと思います。 よろしくお願い致します。

  • クラス(class)の利用価値。使用例について。

    プログラミング言語としては、PHPだけ、ある程度分かります。 職業プログラマではありません。 回答は、PHP4、5、どちらで回答して下さっても結構です。 両方について比較しながら回答して下さると、さらに嬉しいです。 (ver.4→ver.5で、オブジェクト指向がかなり強化されているようですね。) 私が使用しているPHPのバージョンは4.4.8です。 連携データベースはSQLite2.8です。 (MySQLの知識はありませんが、今後、勉強していく予定です。) さて、本題に入りますが、 PHPにおいて、 クラスの書き方の作法については大体分かりました。 オブジェクト指向の考え方もある程度は頭に入っています。 ただ、このクラスというものが具体的にどういう時に役立つのか、今一つピント来ないので、 どなたか、その辺りを実際的かつ豪快に教えて下さい。 C言語やJAVAの参考書には、クラスの意義などがしっかり書かれているのかもしれませんが、 PHPの参考書には、なかなかそういった本が無さそうなので、このような質問をさせて頂きました。 (PHPの本は、10冊以上は読んでいると思います。) 回答の指針を以下に挙げておきますので、よろしければ参考にして下さい。 ・クラスじゃないと表現できないスクリプト例。(内容を言葉で、または、コードで。) ・クラスを利用して便利だなぁと感じた瞬間。(同上) ・クラスを使わなかった場合に感じる不便さ、の例。(同上) ・クラスを使わず、ユーザ定義関数だけで対処することとの違い。(同上) ・逆に、クラスを使うことのデメリット。 ------------------- 回答を頂きましたら、適宜、補足なりお返事をさせて頂きます。 以上、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ドリル加工のステップ量について

    主にSS材、SC材、SCM材を標準ハイスドリルで加工するときのステップ量についてアドバイスをお願いします。 弊社では~Φ3までは1D以下、それ以上は3~10mmぐらいで加工しています。他所で加工をされている方々はステップ量についてどんな基準を持たれているのでしょうか。 一般的に3Dまではノンステップ加工、3~5Dまではステップ回数を2回に分ける。5D以上は深穴専用ドリルを使用すると言われていますが、実際にはどうなのでしょうか?

  • ステップ数での工数管理について

    オープン系ソフト開発畑の人間でしたが、 どういう訳かファーム系ソフト開発になって違和感を感じています。 手続指向が主流だった5年以上前の話なら、 この機能に対して何ステップ必要で、 実際に何ステップあって、 コメントは何割でとか面倒な事がありましたが、 オブジェクト指向が主流になった最近はステップ数で、 工数管理をする事が私自身はあまりありませんでした。 今の職場ではステップ数が何Kで工数がどうとか、めちゃくちゃ面倒です。 パッケージ図・クラス図・シーケンス図辺りがあれば、 工数管理なんて出来そうなものですが、 P2Mとかって現在もそういう考え方なのでしょうか? ステップ数は目安にはなると思うのですが、 例えばif文とか1ステップで書く人もいれば、 4ステップは必要という人もいますよね。 全くの間違いではないと思うのですが、 ちょっと考えが古いのでは?と思うのですがどうなんでしょうか? ソフトウェア業といっても業種によって全然違ってくるため、 色々な方から意見が聞きたいです。

  • ArrayクラスとtoStringについて

    問題集で次のプログラムを見掛ました。 public class Main{  public static void main(String args[]){   int[] array = new int[0];   System.out.println(array);  } } これを実行するとprintlnメソッドで toStringメソッドが呼び出されますが、 ArrayクラスはObjectクラスを継承しているため、 toStringメソッドもObjectクラスから継承されているので、 結果として、配列の要素数が0であっても、 エラー等が発生せずハッシュコードが表示される、ということです。 ObjectクラスのtoStringメソッドが ハッシュコードを返すものであるのは理解できます。 でも、なぜ要素数が1以上で何かしらの要素が存在する場合は、 ハッシュコードが返らないのでしょうか? 詳しい方、解説をお願いします。

  • 【大至急】クラス紹介のスピーチ

    【大至急】クラス紹介のスピーチ クラス紹介のスピーチを頼まれたのですが、どのようにすればよいのかサッパリ分かりません。 1~1.5分で、出来る限り笑いを取りに行け(バック転する位)、と言われています。 クラスの印象のアンケートでは 「やるときはやる」 「個性的、かなりの個性派」 「楽しい、面白い人が多い」 が、大きな意見です。 以上を参考にして、学級の紹介スピーチをどなたか作成して下さい。 笑いが無く、真面目な物でもかまいません。 とにかく急いでいます。 よろろしくお願いします。

  • 流用の定義について

    組み込み系開発の規模算出にて、お尋ねします。 今回はステップ数での開発規模算出を行っています。 そこで、質問です。新規Step数は新規に書く予定のStep数です。 変更Step数は元のコードから変更する予定のStep数です。 そして本題ですが、流用Step数とは具体的に何を示しますか? 元々存在したコード数を記載しますか? それとも確認や試験を行うStep数ですか? 例えば、 switch(a) |元からあったコード { |元からあったコード case OK: |元からあったコード i=1; |元からあったコード break; |元からあったコード case NG: |元からあったコード i=2; |追加したコード //i=3; |削除したコード break; |元からあったコード case HOGE: |追加したコード i=4; |追加したコード break; |追加したコード } |元からあったコード 以上で新規、変更、流用のStep数はどのように数えますか? お手数ですが、解説しているサイト等もご存知でしたら、ご教示願います。

  • クラス替えについて

    カテゴリが少し変かもしれませんが、すみません。 現在中2で、4月に中3になります。 そこで気になるのがクラス替えです。 修学旅行もありますし、受験なので無駄はストレスは抱えたくありません。 なぜ、ここまで心配するかというと、中2のクラスが最悪だったからです。 僕自身は、過去にクラスに困ったことはありませんでした。 クラス替えの初日に困ったとしても、2~3日で解決しましたし、後から思えばそのクラスが一番よかったとすら思えます。 中1のクラスも最高で、休み時間になると、自分の机の周りが友達に囲まれて話をしたり、一緒に外に遊びに行ったり、とにかく楽しく学校生活を送ってきました。 その頃、親が占いに興味があり、自分自身も占ってみました。 そうすると、2009年は運が停滞期で、辛い年になるという結果が出ました。 しかし、それほど占いを信じていたわけではありませんでしたし、過去にクラスに困ったこともないので、中2のクラス発表の日も楽しく登校しました。 そうすると、友達とは全員離れ、泣きたくなるほど最悪なクラスでした。 こんな形で占いが当たってしまったのと、過去にないような友達と全部離れた、最悪な不良クラスでしたので、とてもショックが大きかったばかりでなく、今でも立ち直れません。 クラスには今まで仲良かった友達とは全員離れ、とんでもない卑劣なバカが集まり、そればかりでなく全く気が合わない人ばかりでした。 1人だけ話せる人がいたのですが、やがては自分の大嫌いな人間にくっつくようになり、その人すら見方といえるか怪しいところです。 クラスにはとんでもないバカが多いため、クラスにいる限り、辛さしか感じることができませんでした。 危ない事をされたり、とにかく耐えられませんでした。 なので、朝は起きるのがとても辛く、学校に行くのが辛かったです。 中1の時とは比べ物にならないほどやる気がなくなり、1日が1週間のように長く感じました。 顔も無表情になり、授業中積極的に発言したり、委員会に立候補したりしていた自分は消えました。 しかし、そんな自分を助けてくれたのは、友達でした。 休み時間だけでも明るく過ごすことができ、欠席・早退・遅刻、全部ゼロです。 そんな僕がクラスで信じられるのは、とても評判の良い担任の先生だけです。 クラスで困ったことは全て先生に相談しました。 担任の先生以外は、クラスのメンバーは全員敵です。 「味方がいるとは限らない」ということも学びましたし、「平和」に対するありがたさを日々痛感しています。 しかし、これ以上はもう厳しいです。 うれしいことに、そんなクラスももうすぐ終わるので、それはとても嬉しいです。 しかし、来年のクラスがどうなるかという保証はどこにもありません。 今年のクラスは、自分のクラス以外だったら、必ず友達は3人以上います。 最低3人であり、クラスによっては10人近くというのもあり得ます。 それでも、自分のクラスだけ、0人です。 本当に中2は、運の停滞期だったと感じます。 なので、少なくとも今よりはよくなることは確実です。 クラス替えは何の基準で決まるかはよく分かりませんが、仲が良い人は離されてしまうと聞きました。 (この手の噂は結構インチキが多いです) そこで気になったのですが、数回面談があったのですが、必ず先生に面談の時に「仲が良い人は誰?クラスを越えてもいいよ」と聞かれたので、数人名前を挙げました。 しかし聞いた噂が本当だとなると、不安で仕方がないです。 何の目的で聞いたのかを、今思うと少し疑問です。 わざわざクラスを離すために聞いたというのは考え難いですし、仲が良い人とクラスを一緒にするために聞くというのもなかなか聞いたことはないです。 ただ先生が個人的に気になっただけだという解釈でいますが、やはり100%クラスは運の勝負でしょうか? クラス替えを行うにあたって、どのような基準でクラス替えは行われているのでしょうか? 一般的にどうなのでしょうか?

  • プログラミングのスキルを上げたい

    こんばんわ。 仕事でプログラミングをすることになったのですが、現在は現場で使えるレベルではないので どうにかしてスキルアップを図りたいです。 そこでプログラマのみなさんはどのようにトレーニングしましたか? 私の現状としては、インターネットを参考にしながら .NET frameworkで約1200ステップの1対1ソケットプログラムを 0から作成するのに1か月半かかりました。 (恥ずかしながらコメントも含んでいるのでソースのみだともっと少ないです) ステップ数をスキルの目安にするのは賛否両論あるようですが、 ほかに目安になりそうなものがなかったので記載しました。 また、次の目標としておすすめの例題などありましたらアドバイスいただきたいです。 言語はJAVA・C#・C・VBAなどの中から選ぼうと思います。 例)5000~10000ステップくらいで作成可能な日常で使うツール・ゲームなど。 以上よろしくお願いします。

専門家に質問してみよう