<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>開発関連</title><link>http://blogs.wankuma.com/ganfield/category/1038.aspx</link><description>オブジェクト指向やアーキテクチャ、基盤、その他もろもろ</description><managingEditor>がんふぃーるど(ganfield@wankuma.com)</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>がんふぃーるど(ganfield@wankuma.com)</dc:creator><title>.NET Framework 4のメール送信機能</title><link>http://blogs.wankuma.com/ganfield/archive/2010/09/21/193131.aspx</link><pubDate>Tue, 21 Sep 2010 22:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/ganfield/archive/2010/09/21/193131.aspx</guid><wfw:comment>http://blogs.wankuma.com/ganfield/comments/193131.aspx</wfw:comment><comments>http://blogs.wankuma.com/ganfield/archive/2010/09/21/193131.aspx#Feedback</comments><slash:comments>243</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ganfield/comments/commentRss/193131.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ganfield/services/trackbacks/193131.aspx</trackback:ping><description>&lt;p&gt;一時期、DocomoやauでRCFに準拠していないメールアドレスが送信できないといった問題がありましたが、.NET Framework 4のSystem.Net.Mailでは送信できるようになっているんですね。  &lt;p&gt;MSDNのSystem.Net.Mail.MailAddressクラスの説明でも、「ユーザー名内の連続ドットと末尾のドット」が使用可能なメールアドレスの形式として明記されています。&lt;br&gt;&lt;a href="http://msdn.microsoft.com/ja-jp/library/system.net.mail.mailaddress.aspx"&gt;http://msdn.microsoft.com/ja-jp/library/system.net.mail.mailaddress.aspx&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;実際にRadishというSMTP/POP3サーバを立てて試してみましたが、.NET Framework 4ではうまくいきました。（当然.NET Framework 2.0ではダメでした。） &lt;p&gt;&amp;nbsp; &lt;p&gt;RCFに準拠していないメールアドレスを新たに登録することは既に禁止されていますが、依然そのようなメールアドレスが残っている状態なので、日本のSIerとしては非常に助かります。&lt;br&gt;&lt;a href="http://www.nttdocomo.co.jp/info/spam_mail/measure/change_add/"&gt;http://www.nttdocomo.co.jp/info/spam_mail/measure/change_add/&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.au.kddi.com/service/email/support/meiwaku/email_boshi/mail_address.html"&gt;http://www.au.kddi.com/service/email/support/meiwaku/email_boshi/mail_address.html&lt;/a&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;ちなみに、SmtpClientにも変更があり、SmtpClientクラスが新たにIDisposableを実装しています。MSDNの説明を見るとFinalizeメソッドが無いのでしっかりとDisposeを呼び出してアンマネージリソースを解放する必要があるそうな。&lt;br&gt;&lt;a href="http://msdn.microsoft.com/ja-jp/library/system.net.mail.smtpclient.aspx"&gt;http://msdn.microsoft.com/ja-jp/library/system.net.mail.smtpclient.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ganfield/aggbug/193131.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>がんふぃーるど(ganfield@wankuma.com)</dc:creator><title>Team Foundation Serverの作業項目の高さを調整</title><link>http://blogs.wankuma.com/ganfield/archive/2009/07/31/179595.aspx</link><pubDate>Fri, 31 Jul 2009 06:43:00 GMT</pubDate><guid>http://blogs.wankuma.com/ganfield/archive/2009/07/31/179595.aspx</guid><wfw:comment>http://blogs.wankuma.com/ganfield/comments/179595.aspx</wfw:comment><comments>http://blogs.wankuma.com/ganfield/archive/2009/07/31/179595.aspx#Feedback</comments><slash:comments>298</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ganfield/comments/commentRss/179595.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ganfield/services/trackbacks/179595.aspx</trackback:ping><description>&lt;p&gt;作業項目のコントロールの高さを指定する方法です。独自の作業項目を作成していたら、TFS 2005とTFS 2008で異なっていた、というかTFS 2005の場合はドキュメントに記載されていない、のでメモ書き程度に。&lt;/p&gt; &lt;h4&gt;TFS 2008の場合&lt;/h4&gt; &lt;p&gt;&amp;lt;Control FieldName=”fieldName” Type=”type” Lable=”label” LabelPosition=”Left” &lt;font color="#ff0000"&gt;MinimumSize=”(150,100)”&lt;/font&gt; /&amp;gt;&lt;/p&gt; &lt;p&gt;括弧あり&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h4&gt;TFS 2005の場合&lt;/h4&gt; &lt;p&gt;&amp;lt;Control FieldName=”fieldName” Type=”type” Lable=”label” LabelPosition=”Left” &lt;font color="#ff0000"&gt;MinimumSize=”150,100”&lt;/font&gt; /&amp;gt;&lt;/p&gt; &lt;p&gt;括弧なし&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;MinimumSizeがMSDNのマニュアルに記載されたのはTFS 2008からですが、TFS 2005でも使用することはできます。ただし、記法に若干の違いが見られる通り、使用は自己責任で。また、TFS 2005⇒TFS 2008移行時にプロセステンプレートをアップロードしてMinimumSize関連でエラーが出たら、疑ってみてください。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;参考&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn.microsoft.com/ja-jp/library/aa337625.aspx"&gt;Control 要素 (作業項目の種類の定義スキーマ)&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/archive/2007/07/07/undocumented-attributes-for-controlling-the-work-item-form-layout.aspx"&gt;Undocumented attributes for controlling the Work Item form layout&lt;/a&gt;&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/ganfield/aggbug/179595.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>がんふぃーるど(ganfield@wankuma.com)</dc:creator><title>CSS Expressionって難しい</title><link>http://blogs.wankuma.com/ganfield/archive/2009/04/23/171949.aspx</link><pubDate>Thu, 23 Apr 2009 08:36:00 GMT</pubDate><guid>http://blogs.wankuma.com/ganfield/archive/2009/04/23/171949.aspx</guid><wfw:comment>http://blogs.wankuma.com/ganfield/comments/171949.aspx</wfw:comment><comments>http://blogs.wankuma.com/ganfield/archive/2009/04/23/171949.aspx#Feedback</comments><slash:comments>228</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ganfield/comments/commentRss/171949.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ganfield/services/trackbacks/171949.aspx</trackback:ping><description>&lt;P&gt;IE8ではすでにサポートされていないCSS Expressionですが、業務では使っています。んでもって、やっぱり難しいですね。思わぬところで無限ループが発生してしまう。&lt;/P&gt;
&lt;P&gt;たとえば、次のようなソース&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;PRE class=html name="code"&gt;&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;style type="text/css" media="all"&amp;gt; 
.maxheight { 
width:60px;
overflow:auto;
height:expression(document.all('testdiv').clientHeight &amp;gt; 79 ? "80px" : "auto");
} 
&amp;lt;/style&amp;gt; 
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;div id="testdiv" class="maxheight"&amp;gt;
&amp;lt;div width="100%"&amp;gt;
aaaaa&amp;lt;br/&amp;gt;
bbbbb&amp;lt;br/&amp;gt;
ccccc&amp;lt;br/&amp;gt;
ddddd&amp;lt;br/&amp;gt;
eeeee&amp;lt;br/&amp;gt;
fffff
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/PRE&gt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;高さを80pxに制限するmax-heightのCSS Expression版ですが、このままであれば全然問題ありません。ただし、aaaaaやeeeeeの文字列を増やすと、横スクロールバーが出現して無限ループ突入。&lt;/P&gt;
&lt;P&gt;実際に発生したケースとしては、横幅をwidthでガチガチに固め、さらにword-breakを雨あられと定義し、縦スクロールバーが出現しても大丈夫なように右側に十数pxほど余裕を持たせてありました。&lt;/P&gt;
&lt;P&gt;こちらも通常の場合は問題なく動くのですが、Windowsの「画面のプロパティ」からデザインタブのフォントサイズを特大にすると、縦スクロールバーの横幅が広がり、十数pxの余裕を食いつぶして横スクロールバーが出現。当然のごとく無限ループ突入です。&lt;/P&gt;
&lt;P&gt;behaviorを使用して挙動を制限しなかったのは間違いかもしれませんが、これはちょっと気付かない&amp;#8230;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;しょぼーん。。。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ganfield/aggbug/171949.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>がんふぃーるど(ganfield@wankuma.com)</dc:creator><title>MVC - モデルビューコントローラ</title><link>http://blogs.wankuma.com/ganfield/archive/2007/07/16/85332.aspx</link><pubDate>Mon, 16 Jul 2007 12:21:00 GMT</pubDate><guid>http://blogs.wankuma.com/ganfield/archive/2007/07/16/85332.aspx</guid><wfw:comment>http://blogs.wankuma.com/ganfield/comments/85332.aspx</wfw:comment><comments>http://blogs.wankuma.com/ganfield/archive/2007/07/16/85332.aspx#Feedback</comments><slash:comments>388</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ganfield/comments/commentRss/85332.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ganfield/services/trackbacks/85332.aspx</trackback:ping><description>&lt;P&gt;仕事でMVCやプレゼンテーション部分のアーキパターンについての話題が挙がったので、真面目に調べてみました。ということでノート代わりにここを使用します。間違っていたら指摘して下さいね。&lt;/P&gt;
&lt;H4&gt;1. 発祥&lt;/H4&gt;
&lt;P&gt;1978年にSmalltalkを開発していたXerox社の研究所で生まれる。その後、MVCの実装を記述した論文「&lt;I&gt;Applications Programming in Smalltalk-80(TM):How to use Model-View-Controller&lt;/I&gt;」が発表されるとその有用性から多方面へと広がる。&lt;/P&gt;
&lt;H4&gt;2. 構造&lt;/H4&gt;
&lt;P&gt;UIの構造やビジネスロジック（データ含む）などの利害関係の異なるそれぞれの要素に対し、どのようにすればそれらを奇麗に分離することができるのか？という問題に対する一つの解として登場したのがMVCです。MVCではビジネスロジックやUI、ユーザからの入力の三つ(つまり、処理/出力/入力)をそれぞれModel/View/Controllerの3つの要素に分離し、役割を設けます。&lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=2 width=600 border=1 unselectable="on"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=107&gt;Model&lt;/TD&gt;
&lt;TD vAlign=top width=491&gt;ドメイン（ドメインレイヤーではない）についての情報や捜査を担当する要素。主にビジネスロジックを実装します。&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=107&gt;View&lt;/TD&gt;
&lt;TD vAlign=top width=491&gt;ユーザへの情報の表示を担当する要素（UI）。Modelのデータを出力します。&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=107&gt;Controller&lt;/TD&gt;
&lt;TD vAlign=top width=491&gt;ユーザからのアクションを受け、ModelやViewの操作を担当する要素。&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;A href="http://ganfield.wankuma.com/blog/img/2007/MVC_AD98/ModelViewControllerDiagram_svg.png" atomicselection="true"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=112 alt=ModelViewControllerDiagram_svg src="http://ganfield.wankuma.com/blog/img/2007/MVC_AD98/ModelViewControllerDiagram_svg_thumb.png" width=240 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;※　実線は直接的な関連性、点線は間接的な関連性を示す。&lt;/P&gt;
&lt;H4&gt;3. 分離と依存性&lt;/H4&gt;
&lt;P&gt;MVCの最も重要な点として、Presentation(ViewとController)とModelの分離が挙げられます。ModelをPresentationから独立させ、更にPresentationに依存させないことにより次のメリットが得られます。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Modelにおける処理が簡素化される。 
&lt;LI&gt;Model単体でテストを行うことが可能である。非UI要素なので、単体テストも比較的容易に可能である。 
&lt;LI&gt;Presentationの修正をModelをいじらずに行うことが可能となる。&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;尚、Modelに関しては「Passive Model」と呼ばれるパターンと「Active Model」と呼ばれる二つのパターンが存在します。Passive ModelはModelがControllerによって排他的に使用される場合は使用することができます。例えば、Webアプリケーションなどは基本Modelのデータは顧客単位で保持している場合が多く、この場合ModelはControllerより（実質的に）排他的に利用されると考えてよい。とうぜんModelを共有する可能性が出てくる場合もあるが、楽観ロックや悲観ロック等で同時実行制御を行うことで問題を回避することができる。&lt;/P&gt;
&lt;P&gt;一方、複数のViewからModelを参照し、そのどれかのControllerによりModelが更新され、その更新を各Viewに反映する必要がある場合Passive Modelを使用することはできません。Modelの変更をController抜きにViewへ反映する必要がある場合、「Active Model」を使用することになります。Active Modelでは、Modelの変更をViewに反映する必要があることから、Modelに依存しているViewを管理するどこかで必要があります。Model要素にView要素への直接的な依存性を持たせてしまうと、Model View Controllerと分離させた意味が無くなってしまうので、依存性を管理するコレクションを利用したり、Observerパターンを利用することによりViewとModelの直接的な依存性を回避する必要があります。&lt;/P&gt;
&lt;P&gt;（ちなみに、この辺でよくある勘違いとして、PresentationがModelに依存しないと思ってしまう人がいます。これは大きな間違いで、PresentationとModelは分離しても、PresentationからModelへの依存性は必ず発生します。重要なのは&lt;STRONG&gt;ModelからPresentationへの依存性を無くすこと&lt;/STRONG&gt;です。というか、依存性無しじゃプログラム作れないよっ）&lt;/P&gt;
&lt;P&gt;もう一つViewとControllerの分離もありますが、こちらはPresentationとModelの分離ほど重要視されていません。これはViewとControllerを明確に分離すること自体難しい場合が多いからです。（ただWebアプリケーションなどはそうも言ってられないみたいですが&amp;#8230;）&lt;/P&gt;
&lt;H4&gt;&lt;/H4&gt;
&lt;P&gt;4. MVCの実装と派生パターン&lt;/P&gt;
&lt;P&gt;MVCの実装方法としてはPage ControllerやFront Controllerパターン、MVCからの派生パターンとしてMVP(Model View Presenter&amp;nbsp;)があります。が、まだしっかりと調べきっていないので、また次の機会に説明します(；&amp;#180;Д｀)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;参考文献&lt;/H4&gt;
&lt;P&gt;[1] &lt;A href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;Model-view-controller wiki&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;[2] &lt;A href="http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html"&gt;MVC - XEROX PARC 1978-79&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;[3] &lt;A href="http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html"&gt;Applications Programming in Smalltalk-80(TM) : How to use Model-View-Controller&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;[4] &lt;A href="http://www.microsoft.com/japan/msdn/practices/type/Patterns/enterprise/desmvc.aspx"&gt;モデルビューコントローラ MSDN&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;[5] Martin Fowler, エンタープライズアーキテクチャパターン,&amp;nbsp;ISBN4-7981-0553-8&lt;/P&gt;
&lt;P&gt;[6] GoF, デザインパターン, ISBN4-7973-1112-6&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;# 書き始めたころに大きな地震がありました。またもや新潟らしいです。北陸地方の人大丈夫ですかね&amp;#8230;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ganfield/aggbug/85332.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>がんふぃーるど(ganfield@wankuma.com)</dc:creator><title>最近読んだ一冊『システム基盤の構築ノウハウ』</title><link>http://blogs.wankuma.com/ganfield/archive/2007/01/27/59123.aspx</link><pubDate>Sat, 27 Jan 2007 11:46:00 GMT</pubDate><guid>http://blogs.wankuma.com/ganfield/archive/2007/01/27/59123.aspx</guid><wfw:comment>http://blogs.wankuma.com/ganfield/comments/59123.aspx</wfw:comment><comments>http://blogs.wankuma.com/ganfield/archive/2007/01/27/59123.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ganfield/comments/commentRss/59123.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ganfield/services/trackbacks/59123.aspx</trackback:ping><description>&lt;P&gt;『&lt;A href="http://coin.nikkeibp.co.jp/coin/nos/kiban/"&gt;システム基盤の構築ノウハウ&lt;/A&gt;』&lt;/P&gt;
&lt;P&gt;アプリケーションというよりもインフラ寄りの本です。対象は中～大規模プロジェクトっぽいですが、基本的な考え方は小規模にも当てはまります。&lt;/P&gt;
&lt;P&gt;章立は&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;システム基盤とは（概要）&lt;/LI&gt;
&lt;LI&gt;OLTPシステム（クラサバ）&lt;/LI&gt;
&lt;LI&gt;WEBシステム&lt;/LI&gt;
&lt;LI&gt;バッチシステム&lt;/LI&gt;
&lt;LI&gt;バックアップシステム&lt;/LI&gt;
&lt;LI&gt;統合運用管理&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;となっています。ボリュームは300頁弱。1章辺り1～2時間ぐらいで読めました。&lt;/P&gt;
&lt;P&gt;内容としては、あまり深く掘り下げるようなことはせず、要所要所を抑えるにとどめていまが、システム全体を見渡せる数少ない本だと思います。&lt;S&gt;左右の余白が多く、字も大きくて&lt;/S&gt;サクサク読み進むので、結構勉強してるなって気にもなれます。特に最後の三章はアプリケーション開発側としてはメインではないので疎かになりがちですので、読んでおくといいと思います。知っておけば、ほにゃららを記述したドキュメントが足りなーいなんてドジを踏むことが少なくなるかもしれません。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ganfield/aggbug/59123.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>がんふぃーるど(ganfield@wankuma.com)</dc:creator><title>コードが汚い理由？</title><link>http://blogs.wankuma.com/ganfield/archive/2007/01/17/56631.aspx</link><pubDate>Wed, 17 Jan 2007 01:24:00 GMT</pubDate><guid>http://blogs.wankuma.com/ganfield/archive/2007/01/17/56631.aspx</guid><wfw:comment>http://blogs.wankuma.com/ganfield/comments/56631.aspx</wfw:comment><comments>http://blogs.wankuma.com/ganfield/archive/2007/01/17/56631.aspx#Feedback</comments><slash:comments>96</slash:comments><wfw:commentRss>http://blogs.wankuma.com/ganfield/comments/commentRss/56631.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/ganfield/services/trackbacks/56631.aspx</trackback:ping><description>&lt;P&gt;過去に自分の書いた設計書やコードって破いて捨てたくなるときってありませんか？&lt;/P&gt;
&lt;P&gt;私は大いにあります。&lt;/P&gt;
&lt;P&gt;多分他の皆さんも幾度と無く経験していることだろうと思います。&lt;/P&gt;
&lt;P&gt;そんな私たちに対してか、@ITで&lt;A href="http://www.atmarkit.co.jp/im/carc/serial/redge51/redge51.html"&gt;キミのコードが汚い理由&lt;/A&gt;という記事がありました。&lt;/P&gt;
&lt;P&gt;内容としては、リファクタリングやAgile系の本に書かれていることと大差無いのですが、ここで紹介したいと思います。&lt;/P&gt;
&lt;P&gt;?&lt;/P&gt;
&lt;P&gt;まず、題名からなんとなく分かってしまうのですが--最終的にはコードを綺麗に書く為にはどうすればいいかというのを説明する為に--コードが汚い理由（問題点と背景）が書かれています。&lt;/P&gt;
&lt;P&gt;まず、汚い理由として三点&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#0000ff&gt;時間のプレッシャー&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#0000ff&gt;勉強不足&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#0000ff&gt;熱意（周囲のコードに対する熱意のこと）&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;（非常にありふれた三点（；&amp;#180;Д`A ```。）&lt;/P&gt;
&lt;P&gt;次に、コードを汚くしないための対策が三点&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT color=#0000ff&gt;クリーンなコードを書くことを自分のプロセスに取り入れる&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#0000ff&gt;クリーンなコードの書き方を教える&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#0000ff&gt;クリーンなコードを評価する（周囲に評価されるようにする）&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;?&lt;/P&gt;
&lt;P&gt;　記事の最初の方に、著者が汚いとしているコードAと綺麗だとしているコードBがある。見た目的に良いコードはBであるが、現在問題として現場で受け入れられるコードはAであると思う。何故か？それはITの現場にはピンからキリまでいるからである。&lt;/P&gt;
&lt;P&gt;　サッカーを例に取ってみると、バルセロナや少し前のレアルのサッカーは非常に素晴らしい。ただ、同じことを日本代表にやらせようとしたらどうなるだろうか？JFLの選手などに至ってはどんなことになるであろうか？当然不可能である。個々の能力に差があるからである。高い戦術には高い個々の能力が必要とされるのである。正確なトラップ、正確なボールコントロール、正確なポジショニングが要求される。&lt;/P&gt;
&lt;P&gt;　では、ITの現場はどうだろうか？ITの現場では先ほども言ったとおり、ピンからキリ、バルセロナ級から二部三部級の能力の人が同じプロジェクトに集まり、一緒に仕事をしているのである。レベルを能力の高いの人に合わせてしまうと、能力の低い人が仕事をできなくなってしまうので、レベルは低めに設定することになる。当然受け入れられるコードの質も低下し、最終的には綺麗なコードBよりも汚いコードAの方が現場に多く蔓延る事になる。&lt;/P&gt;
&lt;P&gt;?&lt;/P&gt;
&lt;P&gt;　著者としては、こういう現状を打破すべく--全体のボトムアップを目的とし--プロセスの改善を行うと共にコードの書き方を教えることの重要性、そしてそれらのモチベーションを維持するためにも周囲の理解の必要性を説いているのだと思う。&lt;/P&gt;
&lt;P&gt;?&lt;/P&gt;
&lt;P&gt;ということで、まずは勉強勉強！ｗ&lt;/P&gt;
&lt;P&gt;?&lt;/P&gt;
&lt;P&gt;P.S. 記事のコードB。if分の条件判定の順番間違ってるよね。記事の本質とは関係ないけど。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/ganfield/aggbug/56631.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>