• ベストアンサー

コーディング規則

y_heroheroの回答

  • ベストアンサー
回答No.1

ソフトウェアの開発をしていますが、 コーディング規則はだいたい発注元(大手)に決められてしまうのがほとんどですね。 なのでコーディング規則を決めても実際の仕事ではお客様に合わせる形になりますので、 自社では決めない事がほとんどです。 ⇒NECの仕事ではコメントはこう、日立の仕事ではif文はこう、  東芝の仕事ではインデントがこう…etc  ⇒さらにグループが変われば規則も変わりますし。 Cで限ってもし決めるのであれば、 変数名、コメント、改行、タブ、スペース、括弧の位置…。 でしょうか? 参考としてはANSIの記述を理想標準とし、 それを各社コンパイラメーカのヘルプに合わせたものが一般的ですね。 ⇒例えばMicrosoft製品であればMSDN風に。

nabezo-
質問者

お礼

ありがとうございます。 参考にさせて頂きます。

関連するQ&A

  • VB.NETコーディング標準に沿ったサンプルコード

    「VB.NETコーディング標準」やそれに似たもので書かれたサンプルコードを探しております。 昔VB6をかじっていた者です。先日からVB2010を触っております。 ハンガリアン記法に慣れていたのですが、これを機に離れてみようと思います。 全体として一貫したルールの元、命名規則を取ればよいのは分かるのですが、 VB.NETコーディング標準に似たサンプルコードがあればもっと理解しやすいような気がします。 検索したところ、クラス単体のようなサンプルコードはあるのですが、 プロジェクト全体のものも眺めてみたいのです。 ボタンを押すと「Hello world!」のような簡単なもので良いのです。 例えば ・プロジェクト名は? ・ソリューション名は? ・フォームもクラスであるがファイル名もクラスと同じルールでいいのか? ・配置するコモンコントロールの名前はどうしたらよいのか? ・(欲を言えば)データベースの入出力があるもの このような事を知りたく思います。 プロジェクト全体のサンプルコードを見ることが出来るサイト、書籍などなんでも良いです。 ご存知の方はアドバイスをお願いいたします。

  • 変数名や関数名の命名方法

    どうも初めて質問させていただきます。 私はプログラマの2年生で、現在C++で作業しています。 最近になってようやくプログラミングに自信を持てるようになり、 だいぶコーディングも早くなった気がしています。 ですが、いつも変数名や関数名またはクラス名といった名前を付ける際に 非常に時間がかかってしまいます。 和英辞典を使って調べたりするのですが、 そのまま名付けても、他の人が見て意味が理解できなさそうなことが多いです。 みなさんは変数名など考えるときに、どのようにしていますか? 何かプログラミング専門の和英辞典みたいな書籍など出ているのでしょうか? お役立ち情報ありましたら、どうぞよろしくお願いします。

  • VBA 変数・定数名の付け方

    いつもお世話になっております。 現在VBAを勉強中の初心者です。 変数や定数名について質問させていただきます。 自分でコードを作成した場合、変数名や定数名について、『何にしようか?』と結構な時間迷ってしまします。 決められたルールの中であれば、自由に命名して良いのでしょうが、参考書等を見ると同じような役割の変数・定数には似通った名前がつけられているように見受けられます(まあ当然かもしれませんが・・・) 私も今後の事を考えて、規則?に沿った名称を使って行きたいと考えています。 何か参考となるサイトなどはありますでしょうか? どうぞよろしくお願いいたします。

  • 複数人数で開発する際に注意することは?

    現在、趣味でVisualBasicを使って、 自分で使う範囲のソフトを作っています。 近々、友人と一緒にソフトを作ろうという話になり、 共同でプログラムする際のルールなどを決めたいと考えました。 二人で考えてみたのは、 変数名、関数名の命名規則ぐらいです。 他に注意すべきことがあると思うのですが、 一人でしかやってきたことがないので、思い浮かびません。 他にはどういったルール、注意事項があるでしょうか?

  • 長編プログラミングの設計のコツ

    都合の良い話ですが、書籍や時間の取られる専門的な勉強を避け、 出来るだけ簡単にプログラムを設計するコツを知りたいのです。 今までは、どのような言語でも、数百行のコードを思いつくままに、 浮かんだアイデアを取り入れながら、コーディングして来ましたが うまく行っていました。 数ヶ月前に、1万行程度のコードを書いていて、 コードを見やすくするために、汎用処理を別ファイルにまとめたり、 関数化したり、オブジェクトにしたりして、20個以上のファイルに 分割されたコードが出来ました。 ブロック単位での挙動はテスト済みだったのですが、いざ完成直前に バグが頻発しました。 デバッグに入り、1連の処理が複数ファイルに分散されている事や 複数の関数から参照される処理が多々存在するなど、修正した部分 が新しいバグを引き起こすような事態になり。 コーディングよりもバグを取り除く事に遥かに時間が掛かり過ぎて、 結局、1からつくり直す事にしました。 前回の失敗を無くすため、なるべく各関数の依存度を下げ、カプセル化 やコメントをまめに書く事にに勤めました。 すると、今度はコードが3割程度長くなった挙句、1つのファイルの コードが長くなり、頓雑な、依存度を下げるために使った処理や変数の 数も倍以上に増えて、思いつくまま流れるようなコーディングが出来ず、 結局毎日作業開始時には、長々としたコメントを読むことから始めなく てはいけません。 一日3時間位しか取れない作業時間のうち、その作業に1時間は取られて はかどらず、挫折してます。 是非、主観的なご意見で構いませんので、お勧めの方法があれば アドバイス頂けませんでしょうか? ○参考にしてください。 デバッグの際に複数ファイルに渡った変数や処理の参照が作業を 困難にしているのは解っているが結局出来上がるとそうなってしまう か冗長なコードになってしまう。 記憶に頼る管理は極端に苦手(一日たつと、何を書いていたのか解らず、コード全体を読み直す事がしばしば)。 ファイル構造を始めに決めて処理の流れをある程度書き出して始めた たが、実際にコーディングを始めると思いつくままにコーディングが できす、構造管理に気を取られ頭が真っ白になる。 変数をハッシュなどでまとめて解りやすくしたつもりが、意外と読みにくい。 今までは、デバッグに関しては、記述ミスや、1つずつの変数や関数の 動作をトレースする事で事足りたので、今回も、それ以外のデバッグ 方法は取っていない。

  • Cのコーディング規則:GNUコーディング規則

    Cのプログラミングにおいて、グループ内でコーディング規則を 決めようと思ってます。 で、いろいろWebを見てる中で「GNUコーディング規則」という ものがあるのを知りました。 どんなことが書かれているか知りたく、「GNUコーディング規則」 というキーワードで只今検索中です。 キーワードとしては引っかかるのですが、まだ「GNUコーディング規則」 の内容についての記述があるWebが見つかりません。。。 どなたか「GNUコーディング規則」の内容が書かれたURLをご存知でしたら 教えてください。 よろしくお願いします。

  • 変数名に日本語を用いる際の問題や注意

     今晩は、質問させていただきます。どうぞよろしくお願いいたします。 環境:Win7 Pro 64Bit、VC++2008 VBAが好きでコーディングはよくやっておりますが、VC++はまだ始めたばかりでございます。 何卒よろしくお願いいたします。  VC++2008で変数名・サブルーチン名に日本語を使用した際に、「発生するであろうバグや不具合」というものはあるのでございましょうか? コードに日本語を用いる事自体には賛否両論あるようですが、ネットを検索しておりましても「コンパイル出来るのだから使ってもいいのでは?」というご意見しか見つけることが出来ませんでした。  開発したいプログラムは学術計算が目的で、公開せず自分一人で使用する予定でおります。  もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。

  • classファイルの取り扱い方

    クラスファイルをnewをしてから関数を呼び出す場合と クラス名::関数名で呼び出す場合だとパフォーマンスやメモリの負担などの違いは在りますでしょうか? また、独自のpublic function関数のみのファイル(lib.php)をclassで囲ってあるのですが、 実際はincludeして扱うので、classで囲わなくても問題はないと思うのですが、どこのクラスにあるのかという目安として囲っています。 上記のファイル関数を呼び出す場合に 1.newをしてから$クラス変数->関数名(); 2.それともクラス名::関数名(); 3.そもそもclassで囲わないで、関数名();のみ コーディングルールがないのでどれが一般的なのかが分かりません。 教えて下さい。

    • ベストアンサー
    • PHP
  • メンバ変数をpublicにするかset/getメソッドを定義するか

    Smarty入門という本を読んでいると、 class foo {  private $_a;  public function get_a() { return $this->_a;}  public function set_a(a) { $this->_a=a; }  : } というコーディングがありました。 class foo {  public $a;  : } というほうが素直だと思うのですが、上のように書く理由は何かあるのでしょうか? 書籍には、直接アクセスするのは望ましくなく、メソッド経由で行うべきと書いてありましたが、get/setの両方共を定義するならpublicと同じだと思います。 何らかの事情で変数名を変えた場合も、同じ事情でアクセスメソッド名も変えるべきだと思うので、メンテナンス性も同じだと思います。「変数名は絶対変えるべきだがアクセスメソッド名は別に変えなくて良い」というへんてこな事情が発生すれば別ですが。

    • ベストアンサー
    • PHP
  • [雑談]コーディング規約への思い

    今までに皆さんが体験されたことのある記憶に残るコーディング規約を教えていただきたいです。 これはお勧めとか、こんな酷い規約があった、自分専用ルール等、否定は無しで軽い気持ちで教えていただきたいです。 私の記憶に残る規約は下記があります。 [意外と良いかもと思ったもの] ・一文字のループカウンタの使用の禁止 少しでも検索を楽にしましょうと理由でした。 ×:for(i=0; i<10; i++){ ○:for(ii=0; ii<10; ii++){ [勘弁して欲しかったもの] ・if(2==ii)のように条件文を通常とは逆に書く。 ==の比較をタイプミスで=とした時にコンパイルが通らなくするためにらしいです。慣れるまで相当時間がかかりました。 ・3項演算子の使用禁止 読めなくて、理解もしなくてその前後のコードを修正する人が居て、使用禁止になったようです。。。 [自分専用規約] ・自分にごめんなさいと言うまで動的なメモリ確保はしない。 リーク対策です。動的にメモリを確保しないと実装できない場合や無駄にメモリを使用しすぎる場合にだけ、自分にごめんなさいをしました。 泣く泣く動的にとる場合はmallocではなくcallocを必ず使うようにしてました。 ・極力関数化 if文やswitch文が長くなる場合は、それを条件判断関数としてわざわざ関数を作る努力をします。 普通の処理も一連の流れなら必ず関数化します。 コードの可視性が上がりましたし、デバッグが楽になりました。 (ある関数をデバッグする場合、大半が関数化しているので戻り値だけチェックすればいいので) でも、関数1から関数2に飛んで、さらにその関数2から関数3に飛ぶ等全ての関数を追えば関数1に戻ってきた時に関数1の内容を忘れるような深すぎるのは禁止にしてました。 また関数名も相当こだわってました。 実はコメントを和英併記してくれと言われた時にコメント量を少なくする為にやってたのが癖になったのは内緒です。 ・無駄コメントの削除とconstの推奨 × int result = 0; result=NanikanoKansuu(); //NankanoKansuuが正常に処理したら if(result==0){ ○ int result = 0; const int normalProcess = 0; result=NanikanoKansuu(); if(result==normalProcess ){ ×のコメントを書くのはどうも抵抗がありました。戻り値なんてメンテなどでソースを追う際に読めばわかるやん!って思ってしまって。。。 それにアプリケーションの歴史が長く、メンテに次ぐメンテでコメントが良く間違ってるソースに当たり、コメントをあまり信用しなくなりました。 [微妙だと思った規約] ・プリフィックスの使用 仕様変更に伴いデータ型を変更する際に絶対に変数名の置換を忘れる!と確信できるメンバーがいる時に思いました。 考えればどんどん出てきそうですが、これくらいにしておきます。 見直すとレベルの低い発想が多いですね。ちょっと恥ずかしいです。