人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラミングに関する質問です。最近PHPやPerlをかじり始めたばかりの初心者です。

関数の中など、読みやすいように字下げをするのが一般的だと思うのですが、あれは「タブ」で行う方がいいのでしょうか。それとも「半角スペース」で行う方がいいのでしょうか。もし半角スペースなら、基本は何個あけますか?一般的な作法として、みなさんどうしておられるのかお聞きしたいです。

●質問者: mine-D
●カテゴリ:コンピュータ
✍キーワード:Perl PHP プログラミング 初心者 関数
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

1 ● Reiaru
●18ポイント

タブで行なうのが一般的です。


と言いますのは、タブの方がファイルサイズを減らせる為です。

インタプリタ型の言語である以上、これは未だに重要視されています。mod_perl などはともかく。


私が今まで見てきた限りでは「タブ = 半角スペース 8 つ分」というのが多かったですね。

次が 16、その次が 4 です。その前提で以下に話を移します。


見かけ上は同じに見えますが、半角スペースでタブと同じ見た目にしようとすれば、

4 文字 ? 16 文字 (= バイト) を消費する事になります。

これはタブを使うよりも 4 ? 16 倍の記憶領域を消費するという事です。


また、そもそもコーディング時にそんな馬鹿馬鹿しいスペースキーの連打もしていられません。

もしも、その様な事を要求するクライアントがいたとすればそちらの方がおかしいでしょう。

無駄に開発時間が延びる為、それは人件費の増加に繋がります。

(タブにしておいて、後から半角スペースに置換という事もできますが)


ただ、タブというのにも問題はありまして、見る側の設定如何でその見え方が変わる事があります。

ですので、「タブを半角スペース何個分としてコーディングするか」は最初に決めておく必要があります。

◎質問者からの返答

なるほど、スペースはバイト数を消費してしまうんですね。それは考えていませんでした。あと、やっぱりスペース何度も打つのはめんどいんですね。ありがとうございます。


2 ● memo77
●17ポイント

どっちでもいいというのがほんとのところです。

とにかくタブとスペースを混在させないこと。

複数人での開発環境ではスペースで字数を統一するのがよいのでは。

ちなみに最近のVisual Stdio .Netなどでは勝手にインデントされるようになっているので、もう意識することもないです。

実際のファイルにはスペースで埋め込まれています。

◎質問者からの返答

勝手にインデントされる環境もあるんですね。ありがとうございます。


3 ● yuki_furuya
●17ポイント

自分は、メモ帳とかでも見やすいように半角スペース4つでインデントしています。

◎質問者からの返答

スペース派でいらっしゃいますね。やはり四つですか。


4 ● wm5775
●17ポイント

私もタブ派で、半角スペース4つでコーディングするのが好みです。

確かに、タブの表示幅が定義できないメモ帳などがあると見づらくなりますが、半角スペースでインデントされると個人的には非常に見づらいです。

#業務では、事前にルールを決めると思いますが、スペースでのインデントを指定されたことは未だかつてありません。

また、余談になりますが、pythonはコンテクストをタブによるインデントで判断するように設計されています。

個人的にはタブをお奨めします。

◎質問者からの返答

タブで、半角四つに設定という事ですね。ありがとうございます。「pythonはコンテクストをタブによるインデントで判断」というのは、まったく触った事がないので、面白いと思いました。調べてみます。


5 ● Yuu
●17ポイント

私はtabを使ってます。タイプが楽なので。

tab幅は半角スペース4個分に設定しとります。

ターミナルでvi使う事が多いので、8だと横に延びすぎて不便。

#このあたりは好みの問題でしょうな。

逆にWindowsでのプログラミングならば、tab幅が8でも変わらない

気がします。結局、使ってる環境次第ですね。

あとは規約でどうしてるかどうか。

業務で行ってる開発ならば、コーディング規約あるでしょうし。

◎質問者からの返答

環境次第という事ですね。個人的な話をしますと、coLinuxでWindows内に環境を作って、そこで勉強していこうと思っていて、viを使うつもりですので、参考になります。ありがとうございます。業務ではまったく…。むしろ業務でやらせてほしいくらいですが。


1-5件表示/7件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ