2

私のコーディングスタイルは、常に改行にオープニングブレースを付けることです。

int aBoringCFunction()
{
    ...

Appleは以前はこのスタイルに従っていましたが{、関数と同じ行にあるように変更されました。ブロックを使用する場合、Appleコードには常に:の{直後があります。^

dispatch_async(dispatch_get_main_queue(), ^{
                   ...

ブロックで私のスタイルを使用することが問題になる理由はありますか?例えば:

dispatch_async(dispatch_get_main_queue(), ^
{
    ...

私は自分のスタイルが好きですが、それがブロックに問題を引き起こす場合は、それを再考する必要があります。

明確化

この質問は、C言語のBlocks拡張に関するものです。中括弧についての一般的な質問ではありません。問題は、Blocks拡張機能がコードスタイルに何らかの影響を与えるかどうかです。

4

6 に答える 6

2

どちらのスタイルも完全に正しいです。それはスタイルと好みの問題です。問題になる唯一の方法は、コードの対象者によっては、Appleの規則に従うことが期待される場合があることです。したがって、作業が受け入れられる前に、戻ってフォーマットを少し変更する必要がある場合があります。

于 2011-01-26T15:59:35.467 に答える
1

これは、人々が最も議論しているスタイル関連のことの1つであると同時に、最も重要でないことの1つです。

同じ線にブレースを付けるのが「K&R」スタイルで、最初からCで使用されていたスタイルです。別の行にそれを持っていることはおそらく今日最も一般的です。

しかし、明確にするために、2つのスタイルの一方が他方よりも優れているという証拠はありません。誰かが一方のスタイルについてもう一方のスタイルについて議論する場合は、その問題に関する科学的研究を依頼してください。私はまだそのようなものを見ていません。

重要なのは、コードスタイルがプログラム全体で一貫していることだけです。チームでプログラマーとして作業する場合は、チーム全体で同じスタイルを使用する必要があります。

于 2011-01-26T16:09:22.977 に答える
1

ブロックサンプルはAppleの標準を模倣していると思います。それだけです。中かっこは好きな場所に置くことができます。オンラインのサンプルはAppleに従う可能性が高いため、切り替えについての考えを提案してください。そして、それはかなりうまく機能します。

于 2011-01-26T15:58:42.200 に答える
0

c complierは、中括弧をどこに置いてもかまいません。そのスタイル私は個人的にK&Rスタイルが嫌いですが、本当に重要なのは、コードを記述するコーディング標準です。個人的な使用のためだけの場合は、コードを読みやすくするために何でもしてください。

于 2011-01-26T16:00:52.180 に答える
0

従来、プログラマーは、使用されていた端末で一度に24行しか表示されないため、できるだけ少ない行を使用しようとしました。{を独自の行に配置すると、画面スペースが無駄になります。

今日、大型の高解像度モニターでは、これはそれほど問題ではないと思います。私は、あなたと同じように、中かっこを独自のラインに配置して整理します。

于 2011-01-26T16:00:57.570 に答える
0

コーディングの好みは人によって大きく異なります。一般に、大規模なプロジェクトにはコーディングスタイルのガイドラインが付属しています。たとえば、KDEはあなたと同じようにそれを気に入っています:次の行の{。また、ifステートメントのスペースも気に入っています。

if(this_var> 42)

個人的にはその必要性はないと思います。私にはかつて同僚がいて、すべての機能の後に5行の空白行が好きでした。彼にとって、視覚的な分離は重要でした。しかし、私にとっては、できるだけ多くのことを一度に画面に表示するのが好きです。

間違いはありません。空白のみがあります。

共通のスタイルに合意した後、私がプロジェクトのために書いた私の最もお気に入りのコミットログ(これは現在10年間続いています):

2002-04-20 00:07 hardaker

   * すべての:

   ホワイトスペース、ああ輝かしいホワイトスペース。
   どれだけ素晴らしいですか?
   コードは問題ありません。
   機能性については簡単に同意します。
   何が本当に私たちを悩ませますか?
   見えないもの。
   コード間の何か。
   私たちはあなたの素晴らしさに身をかがめます、
   あなたはどこにでもいるので、
   すべての間。
   あなたはかなり無です。
于 2011-01-26T16:03:48.850 に答える