コーディングスタイルをどのように見つけ、洗練し、維持しましたか?


10

最近、いくつかのプロジェクトと開発環境を切り替えています。それぞれのコーディングスタイルに対する期待は異なります。

さて、私の質問は3つの部分で、最初は好奇心の問題です。

  1. コーディングスタイルをどのように定義して見つけましたか?
  2. どのようにしてそれを増強し、改善し続けますか?
  3. どのように維持しますか?(メンタルノートから、ドキュメントの保持、StyleCopなどのツールの使用)

回答:


7

№1。#コーディングスタイルをどのように定義して見つけましたか?

最初に本、次にMSDNのテキストと記事、次にブログやその他のWebサイトのコードサンプルを使用します。

№2。どのようにしてそれを増強し、改善し続けますか?

私は、人々からのすべての提案に目を開いています。私はそれらを試してみます、彼らが私のために働くなら、彼らは固執します。私も時々実験します、物事を改善するように思えるものは私と一緒にいます。

№3。どのように維持しますか?(メンタルノートから、ドキュメントの保持、StyleCopなどのツールの使用)

私は自分のスタイルを覚えて、どこにでも自動的に適用します。


注1.目を開いて耳を鋭く保つことは、電流を保つために非常に重要です。数年前、私は他の人からハンガリーの表記法は絶対必要だと知ったので、それに従いました。コミュニティがそれがそれほど良くないことに気付いたとき、私はみんなと変わりました。

注2.多くの場合、採用する特定のスタイル要素はそれほど重要ではなく、コード全体でスタイルの一貫性を保つことが重要です。同じことがチームにも当てはまります。いくつかのスタイルを選択してから、それに固執してください。

注3.異なる言語のコーディングスタイルは異なる場合があります。C ++は1つのスタイル、Javaはもう1つのスタイルに値します。HTMLとCSSには、いくつかの異なるスタイルが必要な特性があります。

注4.どのスタイルを選択しても、100%機能しないことを理解し、受け入れてください。場合によっては、複数の行を分割したり、配置を変えたり、特定のコードを読みやすくするために、別のスタイルをそのまま配置する必要があるコードがあることがあります。スタイルをどこにでもプッシュするのではなく、コードの読みやすさに重点を置いてください。明らかな場合は、この特定の場所でスタイルが機能しないため、例外を作成します。

注5.宗教に次のようなコードスタイルを適用しないでください。コードスタイルを強制するツールは良いですが、時にはあなたを怒らせることができます。たとえば、Visual Studioの自動コードフォーマットを無効にしました。ツールが障害になる場合は、例外を追加するだけで、コードが100%準拠していないことを心配する必要はありません。それは本当にそれほど重要ではなく、とにかく達成できない完璧さはあります。


+1ナンバー2は、正確に私が自分のスタイルを向上させる(d)方法です。
Oliver Weiler、2010

2
おいおい、MSDN?私はあなたの仲間のために泣きます...
Shog9

1
  • コーディングスタイルをどのように定義して見つけましたか?

私が「これは私のスタイルになるだろう」と言った時期があったとは思わない。特定の環境や言語に焦点を当ててください。あなたのスタイルはあなたが特定の問題に直面する方法を反映するべきです。

  • どのようにしてそれを増強し、改善し続けますか?開発者のブログを読むことは、他の人が何に取り組んでいるのかを確認したり、広く使用されているソフトウェアを探したりするのに役立ちます(非常に優れている場合は、そのソリューションのいくつかを使用できます)。
  • どのように維持しますか?(メンタルノートから、ドキュメントの保持、StyleCopなどのツールの使用など)この質問は別の問題を引き起こします:スタイルを失うことができますか?私はそれがあなたの一部だと思うので、あなたはできません。

1

私は大好きなクローズドソースのゲームを使ってチームで働き、主任開発者が私に助言してくれたので、彼にも尋ねたところ、スキルを向上させることができました。

彼が提案し、私はZend Frameworkのコーディングスタイル(http://framework.zend.com/manual/en/coding-standard.html)を採用しました


1

最終的に、MSDNに反映されたスタイルを含む、さまざまなスタイルの特性を採用することになりました。次に、VSでテンプレートをセットアップします。これにより、自分の#region/#endregionブロックと、その他の望ましいものが提供されます。

研究や読書を通じて出会う他のスタイルについても研究を続けています。目立つものがあると思い、可読性、メンテナンス、または組織の私のスタイルを向上させることができると思うなら、私はそれを試します。新しいスタイルの調整が必要な場合は、VSのテンプレートを更新するか、メンタルノートを作成します。


1
  1. DOOMソースコードの読み取り。
  2. 他のすべてを読んで、私は手を置いて、うまくいった部分を選んだ。
  3. アルコール依存症の機能。

単独でコーディングするときは、簡潔さを目指します。質素なプログラミングは完全かもしれません、大げさな狂気 ...しかし、それはおそらく私の信条に最も近い身近なものです。

他の人、特にメンテナンスコーディングを使用してコーディングするときは、カメレオンになることを目指しています。私の変更は、場違いにならずに、変更内容を改善する必要があります。


1

コーディングスタイルをどのように定義して見つけましたか?

シンプルさと読みやすさを重視することで(読みやすさ!==わかりやすさ、Spartanプログラミングを参照)

どのようにしてそれを増強し、改善し続けますか?

他の人や自分のコード(さらにはコーディング規約自体)を確認する。

どのように維持しますか?(メンタルノートから、ドキュメントの保持、StyleCopなどのツールの使用)

私はdokuwikiを使用しています。データベース(データベースなし)、階層構造、きめ細かい制御(すぐに使えるACL)、非常に見栄えがよく、しかもwikiなので、誰でも貢献できます。また、コントリビューション/変更は、簡潔さと可読性に基づいて、常に合意の下で正当化されます。


興味深いことに、私はスパルタンプログラミングについて聞いたことがありませんが、それは私が直感的に従った原則です。今、私はそれの名前を知っています、素晴らしい:-)
wildpeaks

0

これは奇妙な答えのようですが、実際にプログラミングを習得するには非常に長い時間がかかりました。私はプログラマーであると考える前に、「芸術」で多くの時間を費やしました。

コーディングするときは、文章、段落、フレーズなどの単位で考える傾向があります。このため、ストーリー/エッセイなどのように読みやすくするために、コードをより多くの行に広げます。開発者が1行または小さなスペースにできるだけ多く詰め込もうとすると、私は本当にイライラします。それは、ライターを賢く感じさせ、将来の読者を困らせる以外に何も達成しないためです。

効率を上げるために変なことをする必要がある場合は、コメントして、そのような理由を説明します。

私はおそらくこれに対する賛成を得ることはありませんが、おそらくこれはとにかく議論を引き起こすでしょう。

技術面については、ブラケットの配置などと同様に、読みやすさを向上させるためにブラケットを揃えています。


0

1. How did you define and find your coding style?

大規模な会社/プロジェクトで広く開発され、広く受け入れられている、または普及している、すでに開発されたスタイルガイドを採用します。

私はさまざまな理由でそれを行いますが、主にそのようなスタイルガイドは開発者がすぐに採用できるためです。スタイルガイドは、開発者がそれに固執する意思がある場合にのみ価値があります。

その例としては、PythonのPEP 8AndroidのJava用スタイルガイドjQuery Coreスタイルガイド、またはGoogleのPythonスタイルガイドがあります。

2. How do you keep augmenting and improving it?

そのようなスタイルガイドの最大の議論は、それらがここで発明されたのではなく、私によって発明されなかったということです。何十人もの開発者、コード行を威嚇する必要があり、会社/チームがスタイルガイドの開発と維持に投資するよりも長い時間を要しました。

改善に関しては、あなたが知る必要があるかもしれないすべてのものに即座に答えるスタイルガイドがありませんでした。しかし、ほとんどの場合、私が前進しているのを見た改善は、スタイルガイドがコードを書くためのアプローチですでに公開したもののより詳細なバージョンでした。

そのような場合、おかしなブロックにぶつかったときは、それを要点または色構文サポート付きのその他の適切なコードスニペット共有ツールに貼り付け、他の開発者とどこかで話し合う必要があります。すばらしい点は、そのような場合、コードが何をするのかではなく、コードがどのように表示されるかに関心がないため、そのブロックをコンテキストから外して、コードで既に指定されているものと比較して、コードを改善する方法を検討できることです。議論の主な出発点としてのスタイルガイド。

3. How do you maintain it?

まあ、すばらしいのは、オンラインで維持されている既存のドキュメントが既にあることです。

コードのフォーマットに関しては、さらに進んで、チームにお気に入りのエディター用のフォーマッター構成を提供することもできます。これにより、チップトップの外観を維持するために必要な推測や手間を省くことができます。実際、私はそれを1マイルも遠くへ行くとは言いませんが、開発の不可欠な部分です-コードの変更の90%が誰かが適切にフォーマットされた/スタイルのコードのチェックインであるという違いを実行することは、誰かが忘れていたためです彼らが巨大な新機能をコミットする前にクリーンアップします。


0

チームの一員である場合は、常にチームの標準に追加する必要があります。独自のレイアウトではなく、一般的なレイアウトを使用すると言われるべきことがたくさんあります。それはあなたのコードを他の人が読みやすく理解しやすくするために不可欠です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.