2016-10-05 6 views
5

私の理解によると、2人の開発者が同じプロジェクトで作業していて、異なるコーディングスタイルを使用する場合、コミットされたソースを統一するGITの組み込み方法はありません。私が間違っているなら、私を修正してください。GITにコミットする前のコード書式

すべての開発者に同じスタイルのコードを書式設定するようにお願いしますか?

GITに何とか同じスタイルのコードを書いてもらえますか? BitBucketで自動コードフォーマットを実現することは可能ですか?

+0

"すべての開発者に同じスタイルのコードの書式設定を依頼する必要がありますか?"はいぜったいに。スタイルガイドを選んでプロジェクトに合わせてください。コードレビューを行う場合は、レビューの一部としてコードスタイルを含めます。あなたの言語のいくつかの標準に対するコードを自動的にチェックするツールがある場合は、それを使用してください。 – Chris

答えて

1

私が知る限り、BitBucketはこれを特徴としません。

しかし、私は速いexcangeを提供するために、共通のスタイルを見つけることをお勧めします。

これが可能な場合は、統合された書式設定機能を備えたIDEを使用して設定を共有すると便利なことがあります。 多くの言語がサポートされているので、Eclipseは良い解決策になると思います。

私のチームのケースでは、私たちはMS Visual StudioとAllmannスタイルを使用しています。これは、自動フォーマットによってネイティブにサポートされているためです。

1

各開発者のマシンにpre-commit-hookをインストールし、ソースコードがチームの標準と一致しない場合に開発者がコミットするのを防ぐ目的のリンターを実行することができます。

欠点は、単にフックをローカルにインストールしないことで開発者がこの機能を活用できないことです。

さらに、lintはビルドプロセスの一部として実行され、コードが適切にフォーマットされていない場合はビルドが失敗するようにする必要があります。

4

同じスタイルのコードをすべての開発者にフォーマットするようにお願いしますか?

はい、いい考えです。

プロジェクトには一般的に、問題の可能性を減らすためのコーディングスタイルのガイドラインがあります。これらは非常に緩やかなものから非常に厳しいものまでさまざまです。ガイドラインには、レイアウトと書式設定が含まれますが、これに限定されません。

私が扱ったほとんどの開発者は、個人的なスタイルでなくても、手元にあるプロジェクトのスタイルを採用することは非常にうれしいです。これはより良いことのためです。読みやすさを助け、実際の変更で「修正プログラムの書式設定」が混在する可能性を低減します。スタイルガイドラインがないコードを編集している場合は、できるだけ既存のスタイルに従うようにします。

あなたの開発者ができる最悪のことは、コミットする前に独自のレイアウトルールを使って自動フォーマッタを使ってソースファイル全体を実行することです。これにより、実際に作業に関連していない場所が大幅に変更される可能性があります。また、複数の支店で作業している場合、常に辛いマージ競合が発生する可能性があります。

GITに何とか同じスタイルのコードを書いてもらうことができますか? BitBucketで自動コードフォーマットを実現することは可能ですか?

私はあなたがそれをしたいと思うことに挑戦することでこれに答えるつもりです。 「不正な」スタイルに基づいて、自動書式設定またはコミットを拒否するコミット・フックを持つことに注意してください。

これはコードレビューのためのものであり、人間がそれをより良くするような例外が常に存在する(例えばC++の土地では、clang-formatは大部分は素晴らしい仕事をするが、些細な初期設定リスト)。誰もが機械の解釈を受け入れるように強制することは、ちょうど妨げになる可能性が高いです。

関連する問題