「.NET」カテゴリーアーカイブ

超図解C#ルールブックを斜め読み

とりあえず、先ほど飛脚で到着したのでぱらぱらと読みました。
細かい比較はまだしていませんが、msdnでのコード標準とは大きく違っていないと思う。
この本自体は、表題通りコーディング標準と言うよりはルールブックといった内容。私が題名をつけるなら、「C# タコを普通にするための養成ギブス」といった感じでつけますね。ちゃんと言われた通り作られているかチェックできるようにFxCOPの使い方まで書かれてまつ。
巻末には「便利な」切り離せる一覧もあるよ!
一項目ごとに、なぜそうする必要があるかという点、制約、悪い例と良い例(リファクタリング前後)がつけられているので、とにかくこうしろという感じではないのでここは高ポイント。
中括弧の位置は完全なANSIスタイル(こだわるよ)。といっても特に言及はありません。これについてはマイナスポイントですかね。
結論としては総じて悪くなさそう。社内標準・プロジェクト標準で悩んでる方はとりあえず読んでみるとよし。
しかし、全ページオールカラーはすごい。(この出版社の場合デフォなのかもしれませんけど)

辞書式順序で m 番目の数学的な組み合わせ要素を生成する

辞書式順序で m 番目の数学的な組み合わせ要素を生成する

要約: 辞書式インデックスから任意の数学的な組み合わせ要素を生成する簡潔なアルゴリズムを示し、このアルゴリズムがどのように開発スキルに有用であるかを説明します。サンプル プログラム ファイル内では実際のコメント行は英語で書かれていますが、この記事内では説明目的で日本語で書かれています。

この記事MSDNのRSSで突然入ってきました。表からどうたどり着けるのかは不明です。(W
記事は非常に珍しく数学(算法)の話ですね。
得てして数学嫌いな(いや、出来ない)私なんぞが小一日悩んじゃってることも、数学が得意の人にかかるとするすらっと数分でプログラム書いちゃったりして、数学って大事だなとそのときは思うのですが、かといって勉強するわけでもないんですけど。
でもこんな記事読むと、特に効率改善という点でやっぱり数学は大事なんだと思います。(でもきっと勉強はしない)

Team Developer デモ

Team Developer デモ
このデモをごらんいただければ、VSTSの機能が、コードの品質管理をよりし易くしてくれることが確認できると思います。
しかしながら、リーダーやマネージャの人は気をつけないと、このようなツールがあるばかりにチームメンバが充分な設計をせず、コードをツールに流し、いわれるままに修正という作業ルーチンが出来てしまうといった、モラルハザードが起きてしまうことにもなりかねないので、ルール作りや、チームの雰囲気作りがより重要になります。
まぁこの手の機能、特にコードの静的分析ツールを、外注先のコードにかけると、会社ごとの実力の差が出るのでおもしろいですな。<悪魔。

C#の中括弧の位置

今ぼちぼちと社内向けのC#のコーディング標準を書いているのですが、中括弧の位置でちょっと悩んでおります。
一応C#のK &R本に当たるHejlsbergの書いたThe C# Programming Languageの中では以下のようにクラスの宣言の中括弧は宣言した行の1行下先頭、メソッド、条件式の場合は宣言した行となっています。

一方今のVS.NET 2003が標準で吐き出すのは、以下のようにすべて次の行の先頭に中括弧がおかれます。

また、現状のVSでは前者のスタイルはサポートされていません。
個人的には前者の方が、クラスとその中身の区別がつきやすいので好きなのですが、世の中的には後者の方が多いんでしょうか。
VS2005なら前者のサポートも出来るし、コーディング標準は前者で起こしてみますか。

続きを読む C#の中括弧の位置

CodeToHTML

16時36分全面改定。
ココログにC#やVBのソースコードを貼り付けるのに何か良いHTMLジェネレータがないかと探していたのですが、santa marutaさんのCodeToHTMLというツールを見つけて使ってみました。以前原水商店さんで紹介されていた、Webページもあったのですが、そちらは表示用のCSSファイルをサイトにおいておく必要があり、ポータビリティとか、ココログの契約でちょっとという感じでしたが、このCodeToHTMLは、フォント色ほかの設定込みでHTMLを吐き出してくれるので、HTMLとしては醜いですが(失礼)、ココログでもばっちり表示させることができます。
以下はその例:

また、CodeToHTMLは以下の言語をサポートしています。
C, C++, C#, VB, VB.NET, HTML

ここだけでなく、オンラインのドキュメント作りもこれで楽になります。

Intentional Programming

mixiでのMS ソフトウェアアーキテクト萩原氏の日誌にあったIntentional programmingを知るためのリンクメモ。
Intentional programming wiki
http://c2.com/cgi/wiki?IntentionalProgramming
各リソースへのリンクもあります。
IntentionalFaq
http://www.omniscium.com/?page=IntentionalFaq
文字通りIntentional ProgrammingへのFAQ
特許もあるのか。
誰か漏れに優しく教えてください。

Software Factory本

prog-blog

・・・なんかWebの記事とは比較にならんほど、こちらの方では具体的な解説がされてるんですが・・・。はじめからこういう説明してくれよ、って感じで。(;?Д`)
つーことで、Webの記事をちまちま集めてるよりは、最初にこの本を読んだ方が手っ取り早そう。

やっぱりそうですか。ただ、いまは洋書とガッツリよつに組む気力がないので、やっぱり翻訳を待とうかと。
今の私の状況だと、そんなに急ぐこともなさそうですしね。

MSF Agile

昨日のフォローアップ。
Keith Rowe’s WebLog(RSS)の7月4日分
Methodologies – our process, your process, no process

  1. MSF Formal – aimed at larger scale, traditional projects that need and want a lot of “ceremony“ around handing off work products from group to group and phase to phase.
  2. MSF Agile – aimed at smaller iterative development projects. We are very lucky to have hired Randy Miller, one of the big thinkers in the Agile movement, to help us design this version of MSF. It’s still in development so I’ll describe this in more detail in future postings.

ということで、MSF4.0はFormalとAgileの二本立てになるということのようです。
大規模開発で、「セレモニー」が要求される場合にはFormalを使用し、文字通りAgileに開発する場合にはAgileを使うというこのですね。
またこのblogの中ではVSTSのmethodorogy templateについても言及していて、このtemplateはユーザーによるカスタマイズ可能な状態で提供されるようです。ただ7月の記事なので、現在どのように実装されているかはこの先調べる必要があるでしょう。(VSTSを使うならね。)
MSF Agileに関してまとめてかかれたものはGotDotNetで入手できる荒い資料だけなので、各ロールや、工程でのもう少しつっこんだ資料や読み物がほしいところですね。たぶんそのうちアップデートされることを期待したいと思います。
でも結局使わないかも。(^^ゞ
21:37追記
Visual Studio Team SystemとMicrosoft Solutions Flameworkとの関係に興味のある方は以下のWebをごらんになってください。
Visual Studio 2005 Team System: Microsoft Solutions Framework