• ベストアンサー

なぜtabによるインデントはいけないのでしょう?

仕事で linux、c言語でプログラムの開発をすることになったのですが、 コーディングの規約でtabによるインデントを禁止されました。 tabを使ってインデントすることに具体的な弊害を提示されなかったのですが どんな弊害があるのでしょうか? ご存知の方教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 …んと…割合に珍しいような気もするのですが(どちらかというと逆の「Tabインデント必須」のほうが、経験的には多かったです)。 可能性としては、tabは設定によって如何様な長さにもなりますので。そのあたりを嫌っているのではないでしょうか? # 個人的には2tab(tab = 空白2つ)派です。

psychesine
質問者

お礼

ありがとうございます。 エゴだった可能性もあるわけですね

その他の回答 (1)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.2

TABインデントとスペースインデントが混ざると TAB幅が変わったときにインデントが崩れますから、 スペースインデントに統一するためのTABインデント禁止なのかもしれません。 (つまり、統一することが肝要で本質的にはどっちでも良かった) # 個人的には4tabか2space。

psychesine
質問者

お礼

ありがとうございます

関連するQ&A

  • インデント、タブかスペースか

    Javaとは直接関係ないかも知れませんが・・・。 プログラミングするときのインデントって半角スペースとタブどちらのほうがいいでしょうか。 どちらでもいいという話をよく聞きます。 自分は今まで半角4スペース分のタブを使ってたんですが(Java以外の言語でも)、これって少数派なんでしょうか。 Sunのコーディング規約では、インデントは半角4スペース分、タブは半角8スペース分です。 でも、インデントをどっちでするかは規定してないんですよね。 インデントを4スペース分のタブで行うとタブは8スペース分というのに矛盾するような気が・・・。 まあ、どうでも各PJや企業の文化次第なんでしょうがどちらが多数派なのかな?って思いました。

  • Visual C++ のインデント

    Visual C++ 6.0 を Windows XP で使ってコーディングすると ---------------- int f(int a, int b)     {     return(a+b);     }; ---------------- のようなインデントに自動的になります。 Windows2000 でプログラムしていた時は ---------------- int f(int a, int b) {     return(a+b); }; ---------------- のように、中括弧のインデントレベルと関数名のインデントレベル が一緒だったような気がするのですがどうでしょうか? 何か仕様というか、世の中の流行が変わったのでしょうか?

  • ファイルを右クリックしたときに出るプロパティーにタブを追加したいのですが・・・

    タイトルの通りです。 具体的にはHashTab Shell Extensionのような感じでタブを追加してその中にプログラムを作りたいのですが、そのような解説をしているところが見つかりません。 もしご存知でしたら教えてください。 言語はC、C#、JAVA、Delphiのどれかで教えていただけると嬉しいです。 よろしくお願いします。

  • emacsの自動改行+インデントについて

    linuxでC言語を勉強しています。 emacsをいろいろなサイトを参考にしていじっているのですが、 (add-hook 'c-mode-common-hook ____________'(lambda () _________________(c-toggle-auto-hungry-state 1) )) で自動改行+インデントをしています。 しかし、これだと for(i=0;i<10;i++) ___{ _______... ___} というふうになってしまいます。どうも私はそれが気に食いません。 できれば、 for(i=0;i<10;i++){ ____... } となってほしいのです。 ただし、";"、"{"、"}"を入力した後には改行+インデントしてほしいです。 一度、 (define-key c-mode-base-map ";" 'newline-and-indent) としてみたのですが、これだと、;が表示されずに改行、インデントされてしまい失敗でした。 elispについて詳しく知らないので教えてください。

  • 字下げ(インデント)について

    UNIX上でemacsを使用してC言語を記述しています。 勉強する際に、サンプルプログラムをコピペして 実行させてみることがよくあります。 このときに字下げが行われていないソースを 全ての行に対してtabキーを押して字下げを 行うのですが、長いソースになるととても億劫に なります。現在も2000行近くあるサンプルプログラム の字下げを行っているのですがとても面倒です。 一度に字下げを行う方法はあるのでしょうか? ご助言お願いいたします。

  • C言語、C++のコーディング規約

    C言語、C++のコーディング規約を作りたいのですが参考になるものどこかにありますか。

  • VS2005でのタブやスペースの可視化

    何故かタブやスペースが突然可視化状態になることがあります。 何らかのショートカットキーでそうなるようです。 元に戻す方法を調べてみましたが、分かりませんでした。 タブの可視化状態を解除するにはどうしたらいいのでしょうか? 環境はWinXP/VisualStudio2005です。 言語はC++でウィンドウズアプリケーションを開発している時に怒りました。

  • NonOSによる制御ソフト

    NonOSによる制御ソフトとは具体的にはどういうものでしょうか。 C言語を使用するようですが。。。 Linux上でC言語を使ったプログラムはよく作っていますが、 それよりもはるかに難しいのでしょうか。

  • Linuxの組込開発はオープン系?汎用系?

    私はLinuxで動作するルータ製品の開発をやっていました。 C言語でコーディングしたり、OSSのパッケージを移植したり... こういう業務はオープン系でしょうか?汎用系でしょうか? 転職サイトに登録したいのですが、組込系というのはなくて どちらかと言えばどっち、というのが知りたいです。 よろしくお願いいたします。

  • フリーのテキストエディタ

    C言語によるプログラムを書くための、 Windows98SEで動作するフリーのテキストエディタを探しています。 しばらくnotepad(メモ帳)を使っていたのですが、もう限界です。 コンパイラがエラーを出してくれて、折角行数まで教えてくれているのに、 その行を自動的に探すことが出来ないのです…(^^;; インデントもスペースで整えなきゃいけないですし…。 出来れば、UNIXのMuleみたいな、TABだけでインデントを整えてくれる ようなヤツがあったら嬉しいのですが。 という訳で、良いものが在ったら教えて下さい。

専門家に質問してみよう