差分

ナビゲーションに移動 検索に移動

コードファースト

1,566 バイト追加, 2015年9月5日 (土) 09:05
==概要==
コードファーストは[[Ruby on Rails]]で大流行した方式であり、その当時は特別な呼称もなかった。後に[[マイクロソフト]]がVisual Studioで[[ER図]]として視覚的に編集できるよう発展させた[[Entity Framework]]を発表し、その際に「コードファースト」を連呼したことで一部で定着したものである。
 
一般的に[[RDB]]を使用するプロジェクトでは以下のようなものが乱立する。
*テーブル定義を書いた紙の仕様書
*CREATE TABLEなどを記述したSQL文
*[[データ]]を受け取るクラス
これらのうちひとつでも記載忘れなどが発生すれば[[バグ]]の温床となる。の温床となる。またこれらの記述者が異なることで理解の相似が発生し[[デスマーチ]]に発展することも多い。
そこで考えられたのが全てを主となる[[プログラミング言語]]の[[ソースコード]]で一本化しようという思想である。ひとつのクラスがひとつのテーブルとして定義される。いわゆる[[ORM]]で「SELECT」の結果を受け取るのに使用されるクラスを流用して、実行時などに「CREATE TABLE」までやってしまおうという発想であり、通常は[[ORM]]の機能として提供される。
「仕様書はソースコードの中に」という思想のもと、いきなり[[ソースコード]]から書き起こすことからコードファーストと呼ばれる。全世界で議論を呼んだ「[[ソース読め]]」の発展系であるといえる。
コードファーストは==普及==コードファーストは「チーフ」と「[[Ruby on Railsプログラマー]]で大流行した方式である。」という二階層の役職が一般的な欧米特有の土壌で生まれた概念である。そのため欧米では、仕様書、スキーマ、ソースコード(POCO)の書き手が階級ごとに異なることは稀である。 一方で日本では、仕様書は上級社員が書き、一般社員がスキーマを書き、末端社員がソースコードを書くという分業が一般的である。このためコードファーストを導入することは末端社員が絶大な権力を持つことを意味し、日本特有の「[[上流工程]]」という考えが否定されるため、[[システムエンジニア]]と呼ばれる中間層の人々が職を失う恐れがあり、大企業では否定的な意見が多かった。 しかしながら、[[マイクロソフト]]が「コードファースト」を連呼したことで、「役員による鶴の一声」が発生し、一部の大企業では政治的な理由によりコードファーストを使われざるを得なくなっている。
==主なコードファースト対応ORM==
匿名利用者

案内メニュー