2017-03-28 10 views
4

私はJavascript(ブラウザで)、C#とSql Serverを使用してWebアプリケーションを構築しています。 3つの言語すべてで一貫した命名規則を使用することをお勧めしますか?
Javscriptでは、camelCaseを使用するのがベストプラクティスだと思われますが、C#とSQL ServerではTitleCaseです。
JavaScriptが消費してC#/ Sqlサーバーにデータを送信するときに、命名規則に一貫性がないという問題があります。だから私はそれらをマップするコードを書く必要があります。例えばアプリケーション内のすべての言語での大文字小文字の区別

SQLで

I持つ列 '名前' と 'フー' と呼ばれるテーブル 'のEmailAddress'

C#では、私はこれにマップ 'フー' と呼ばPOCOオブジェクトを持っています プロパティ '名前'、 'のEmailAddress' とテーブルと、これは JSONで取得するためのAPIエンドポイントを公開して、例えば{ "名前": "ジョーBloggs"、 "EmailAddres": "[email protected]"}

私のJavascriptsはこのJSONをGETするajaxコールを作成し、それをiにマップしますTS自身 JSONオブジェクト例えば、{「名前」:data.Name、「EMAILADDRESS」:data.EmailAddress}

列/プロパティの命名規則との間のこのマッピングは私には愚かなようで、すべての場合に必要とされません言語はちょうどケーシング大会で合意した。これにはより良いアプローチがありますか?

+0

、私はそれで価値の多くはないと思うが、私たちは一致しているSQLでの変数名(@variablename)のためのキャメルケースを使用することを言うだろうC#とJavaScriptで使用されている命名規則がありますが、これはおそらく私たちがこれらの行に沿って私たちの唯一のことです。テーブル名とカラム名はまだTitleCaseです(C#のクラス名のように)JavaScriptの場合は、マッピングを行います。 – pmbAustin

答えて

3

私の意見では、引き続き各言語の標準慣習を使用する必要があります。

利点:ソフトウェアの各部分における

  • 一貫性。
  • 自家製の命名規則を学ぶ必要がないので、あなたの同僚の開発者にとっては簡単です。
  • SOのような場所でコードを世界中の人々とやりとりすることや、SOにある解決策を実装することに決めた方が簡単になります。

言語に一貫性を持たせるために余分な表記法を追加しないでください。あなたの言語は無意味なルールで終わってしまい、将来はあなたのコードを扱う人には混乱します。悪魔の支持者を再生するに

は、ここhereから盗まれた鉱山に同意しない意見だ:

あなたは スタイルに基づいて符号化規格で大きな問題を見つける場所です - あなたのチームが書き込みをしていない場合コードベース全体では、 は、他のコードの標準との不一致を見つけることになります。

私の助言はそれを汗ばむことではありません。あなたのコードが明確である限り、 は実際にラクダケース、パスカルケース、または アンダースコアスタイルを使用するかどうかは関係ありません。そのコードが読みやすいことが重要です。

と新しいバージョンとの比較が不可能になるので、第三者のスタイルを変更しないでください。したがって、 に固執する必要があります。2つの異なるスタイルのライブラリがある場合、コードスタイルを無視する標準に従って、 を選択するしかありません。その悪いことではない場合は、 あなたは良いコードをしている場合は、任意のコードスタイルを読むことができます。あなたがしていない場合は、 孤独なスタイルはあなたをまったく助けることはありません。

私は彼らが良い点を作っていると思っていますし、あなたがチームのコンテキストの外で自分のコードを使って作業しているからです。しかし、サイドプロジェクトで良い習慣を習得する(あるいはむしろ悪い習慣を避ける)ことは良いことです。他の人と一緒に書く/書くようにコードを書くことがあるかもしれないので、命名規則をどう扱うかを学ぶことは有益でしょう。あなたが将来チーム内でこの問題に遭遇すると思うならば、大きなコードベース。

2

これをアプリケーションの起動時に追加すると、GETの返されたオブジェクトがcamelCaseに自動的に変換されます。

マッピングを使用したり、各環境の慣習から逸脱する必要はありません。

var formatters = GlobalConfiguration.Configuration.Formatters; 
var jsonFormatter = formatters.JsonFormatter; 
var settings = jsonFormatter.SerializerSettings; 
settings.Formatting = Formatting.Indented; 
settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 

詳細についてはこちらをご覧ください:http://odetocode.com/blogs/scott/archive/2013/03/25/asp-net-webapi-tip-3-camelcasing-json.aspx

関連する問題