2012-04-18 3 views
2

開発者がスタイルに応じてコードを表示できるツールはありますか?開発者ごとに異なるC#コードを表示する現在のVSツール

例えば、K & Rスタイルブラケットのような一部の開発者とANSIスタイルのようなものがあります。 バッキングコードファイルの形式は自由ですが、表示されるソースは開発者のスタイルにする必要があります。

+6

これは良い考えではありません。理由はいくつかあります。それは、単一のスタイル、好ましくはショップの標準によって定められたスタイルに従う方がよい。この点について妥協を許すことは、開発者が遵守の必要性を感じない他の分野で妥協する許可を持つことを意味します。さらに、他の問題を難読化することもできます。ソースコード管理システムは、テキストマッチングに依存して差異を識別し、マージを実行します。要するに:しないでください。 –

+0

@ robert-harveyなぜソース管理システムは、実際にディスクに保存される「標準」フォーマットでは動作しません。なぜあなたは、表示されているコード形式に対して作業すると仮定していますか? – Telavian

+0

あなたは単純に単一のコーディングスタイルを適用することができたときに、なぜあなたの人生をこのように少しの利益のために複雑にしますか? –

答えて

4

できます。インデントオプションはVisual Studioのオプションで設定するだけです。その後、開発者がファイルを読み込むと、編集メニューから "Reformat File"を選択することができます(これは高度なサブメニューの1つにあると思います)。またはファイルの最後に移動し、最後の括弧を削除して、それを追加します。ファイルは自動的に再フォーマットされます。

これは、という本当に悪い考えです。です。ソースコントロールを使用している場合、開発者が別の書式設定規則を使用したユーザーによって以前にチェックインされたファイルをチェックアウトするたびに、そのファイルが変更済みとして表示されます。だから、あなたは偽のチェックインをたくさんする可能性があります。たとえ何とか偽のチェックインを避けても、開発者がコードの1行を変更するかもしれないという問題がありますが、diffは全て書式が変更されます。

これだけではありません。たとえば、あるモジュールの263行目で例外が発生したというエラーとスタックトレースをテスターが報告したとします。ソースリポジトリから最新のコードを取得して、最後にコンパイルした形式にしておく必要があります。そうでない場合は、エラー263行目はおそらくエディタで263行目にはなりません。

インデントスタイルを1つ決定するように開発者に指示します。他の何かがあなたに悲しみの終わりを起こさせます。

ちなみに、私はこのことを数年前に書いていましたが、それについてもSource Control and Formatting Standardsに書きました。標準的な形式に自動的に変換するためのツールを作ることができれば、良いアイデアだと思った。当時、私は "where is line 263"という問題を考慮しなかった。その人は殺人者であり、自動変換を行うためのツールはピクニックではありません。全体として、私は、単一のスタイルで解決するほうがはるかに簡単で信頼性が高いと判断しました。不慣れなスタイルに慣れるまで数日しかかかりません。

+0

私はそれが可能であることに同意しない。 OPは、 "そのスタイルの欲望に応じてコードを見直し"ではなく、 "そのコードをこのスタイルの欲望に変更する"と述べています。コードを別のスタイルに再フォーマットすることは、異なるフォーマットで表示することと同じではありません(また、あなたが指摘したように、これは多くの悪影響を及ぼします)。それは可能ではありません。 VSテキストエディタが編集され、テキストが元の形式で表示されます。違う方法で見ることはできません。私は、すべてのコーダーが同じ標準を使用すべきであることに同意します(そして、C#のための「事実上の」標準をしっかりと確立しています)。 – JotaBe

+0

あなたはその質問を誤解していると思います。ソース管理システムは、毎回同じになるようにディスクに保存されている「標準」形式をチェックインまたはチェックアウトします。 VSはそれを表示しますが、開発者は望みました。 Ctrl-E-Dはコードを再フォーマットしますが、実際にはすべてのファイルに対してそうしたくありません。また、VSはソースラインエラーを表示ラインエラーに変換するのに十分スマートです。 VSで見られるソースは、実際に実行されるソースと大きく異なる場合があります。 – Telavian

関連する問題