文字コードの関係で、Visual Studioでは変数名などに日本語が使えるのです。
(理由が文字コードなので、ハングルとかも使える…かも?対応は未確認ですが…
気持ち悪いかどうかは個人の感覚の問題ですが、本当の意味での初心者(英語すらも分からないような人)にはある程度使いやすい…かもしれません。
ということで、サンプルコードを。
//staticとかpublicとか書き出すと止まらなくなるので一部省略。
//よって、このコードをVC#に食わせてもコンパイルできません。
void 表示する(string 表示する文字列)
{
Console.WriteLine(表示する文字列);
}
void main()
{
表示する()
}
こんなのが見事に通るわけで。
VC#とかのコード自動補完だと、[if]やら[for]等に混じって[表示する]も出てきます(当然か
Twitterにも書いたことですが、「void hyouzisuru()」なんて書かれるよりは潔く「void 表示する()」って書いてくれたほうが見やすいですね。
これでプログラミング界の敷居が若干下がる…と思ったら、これ日本語用の関数ラッパー作らなきゃ駄目じゃん…orz
まあ部の新入生用に、ある程度は作っておいてもいいかも知れないですね。
2009年9月30日水曜日
2009年9月26日土曜日
【インフル】閉鎖なう
さて題名の通り…
私の学校にインフルエンザが蔓延してきたようで、昨日・今日と学校閉鎖になってしまいました。
週明け…でもきっとインフル感染者は大きくは減らないと思うので、また閉鎖を食らうのも時間の問題かもしれませんね。
でも、この補講が年末と被ったら…それはそれで死にたくなるものです。
再掲になりますが、皆さん手洗い・うがい・マスク・消毒で徹底した衛生管理をし、インフルにかからないように対策をしていきましょう。
年末の祭典を健康体で無事に迎えるためにも、各自の衛生意識の向上は不可欠なことなのです。
私の学校にインフルエンザが蔓延してきたようで、昨日・今日と学校閉鎖になってしまいました。
週明け…でもきっとインフル感染者は大きくは減らないと思うので、また閉鎖を食らうのも時間の問題かもしれませんね。
でも、この補講が年末と被ったら…それはそれで死にたくなるものです。
再掲になりますが、皆さん手洗い・うがい・マスク・消毒で徹底した衛生管理をし、インフルにかからないように対策をしていきましょう。
年末の祭典を健康体で無事に迎えるためにも、各自の衛生意識の向上は不可欠なことなのです。
2009年9月24日木曜日
文化祭も終わり
無事に学校の文化祭も終わり、冬に向けての作業が加速しつつある今日この頃。
文化祭に来てくださった方、本当にありがとうございました。部誌を読んで下さったり、IllusionⅣをプレイして下さったり…と、そういう些細なことでも私にとっては非常に光栄です。
IllusionⅣのEx面ってクリアできた人いるのかしらん。
それ関連のことでもありますが、どうやら文化祭でインフルが一気に拡散したようです。私の知り合いにも数名感染者が出てしまったようなので、文化祭に来てくださった皆様、くれぐれも体調管理にはお気をつけください。
…手洗い、うがい、マスクで正しく予防を。
文化祭に来てくださった方、本当にありがとうございました。部誌を読んで下さったり、IllusionⅣをプレイして下さったり…と、そういう些細なことでも私にとっては非常に光栄です。
IllusionⅣのEx面ってクリアできた人いるのかしらん。
それ関連のことでもありますが、どうやら文化祭でインフルが一気に拡散したようです。私の知り合いにも数名感染者が出てしまったようなので、文化祭に来てくださった皆様、くれぐれも体調管理にはお気をつけください。
…手洗い、うがい、マスクで正しく予防を。
2009年9月15日火曜日
2009年9月9日水曜日
2009年9月7日月曜日
2009年9月3日木曜日
コメントの重要性
いつか何かの記事でちょこっと触れた気がしますが、今回は若干本格的に。
自分が書いたソースコードを他人に理解してもらううえで最も重要なのは、やはり適度なコメントの記述だと私は思うのです。
「適度に」というのは若干あいまいな表現かもしれませんが、それは即ち「他人が関数名・引数名その他を見て、瞬時にその内容が分かりそう」なものでなければ、ということです。
では、3つの例をあげて説明していきます。(例の中の「GetPingdly()」は、関数内で定義されているサーバーにpingを送信し、それが帰ってくるまでの時間を計測、それを戻り値とする関数とします)
まずは1つ目。
------------------------------
void main() //戻り値を返さない関数main、エントリポイント
{
Console.WriteLine("●●●●");//コンソール上に●●●●と表示する
Console.Beep();//ビープ音を鳴らす
Console.WriteLine("△▽△▽");//コンソール上に△▽△▽と表示する
Thread.Sleep(3000);//3000ミリ秒の間動作を休止する
Console.WriteLine(GetPingdly());//pingを送信し、それが帰ってくるまでの時間を計測し表示する
}
------------------------------
明らかにやりすぎです。プログラム初心者向けにソースコードを書くのであれば、ここまでコメントしてもいいかもしれませんが・・・
それでは2つ目。
------------------------------
void main()
{
Console.WriteLine("●●●●");
Console.Beep();
Console.WriteLine("△▽△▽");
Thread.Sleep(3000);
Console.WriteLine(GetPingdly());
}
------------------------------
仲間内で、かつ関数GetPingdlyの存在がはっきりと認知されている場合はこれでもいいかも知れません。
今回はプログラムの内容が簡単すぎるので、「これで十分」という人もいるとは思いますが、ここでDirectXの描画やらIronPythonスクリプトの読み込みやら・・・色々面倒なものがかかわってくると、これで分かってもらえる確率は低くなってくるでしょう。まして赤の他人に公開する複雑なコードがこんな状態では、完全に内容を理解してくれる人は殆どいないも同然の状態になるでしょう。
そこで3つ目。
------------------------------
void main()
{
Console.WriteLine("●●●●");
Console.Beep();
Console.WriteLine("△▽△▽");
Thread.Sleep(3000);
Console.WriteLine(GetPingdly());//pingを送信し、それが帰ってくるまでの時間を計測し表示する
}
------------------------------
自作した関数GetPingdlyにのみコメントをつけているので、①に比べて非常に(コメント的な意味で)すっきりとまとまっています。また、この状態であればGetPingdlyの存在を認知していない人でもその関数の内容を把握できるため、「他人が見てわかるソースコード」でもあるわけですね。
このようなコメントの記述方法だと、②の最後に触れたように「面倒なもの」がかかわってきた場合でも「他人に分かりやすい」ソースコードになるわけです。また、自分が書いたソースコードを後から見返すときにも、コードの内容を一目でつかみやすく、大変便利になります。
ちなみに、③の方法を、「DLLImportを多用するソースコード」に使うと・・・
場合によっては、コードの量が3~4倍になってしまいます(^^;
VC#だと、summaryの部分はまとめて折りたためるので・・・ある程度は良さそうなんですがね(ホントカオイ
2009.9.3 AM10:52 一部表記を修正しました。指摘してくださった方ありがとうございます。
自分が書いたソースコードを他人に理解してもらううえで最も重要なのは、やはり適度なコメントの記述だと私は思うのです。
「適度に」というのは若干あいまいな表現かもしれませんが、それは即ち「他人が関数名・引数名その他を見て、瞬時にその内容が分かりそう」なものでなければ、ということです。
では、3つの例をあげて説明していきます。(例の中の「GetPingdly()」は、関数内で定義されているサーバーにpingを送信し、それが帰ってくるまでの時間を計測、それを戻り値とする関数とします)
まずは1つ目。
------------------------------
void main() //戻り値を返さない関数main、エントリポイント
{
Console.WriteLine("●●●●");//コンソール上に●●●●と表示する
Console.Beep();//ビープ音を鳴らす
Console.WriteLine("△▽△▽");//コンソール上に△▽△▽と表示する
Thread.Sleep(3000);//3000ミリ秒の間動作を休止する
Console.WriteLine(GetPingdly());//pingを送信し、それが帰ってくるまでの時間を計測し表示する
}
------------------------------
明らかにやりすぎです。プログラム初心者向けにソースコードを書くのであれば、ここまでコメントしてもいいかもしれませんが・・・
それでは2つ目。
------------------------------
void main()
{
Console.WriteLine("●●●●");
Console.Beep();
Console.WriteLine("△▽△▽");
Thread.Sleep(3000);
Console.WriteLine(GetPingdly());
}
------------------------------
仲間内で、かつ関数GetPingdlyの存在がはっきりと認知されている場合はこれでもいいかも知れません。
今回はプログラムの内容が簡単すぎるので、「これで十分」という人もいるとは思いますが、ここでDirectXの描画やらIronPythonスクリプトの読み込みやら・・・色々面倒なものがかかわってくると、これで分かってもらえる確率は低くなってくるでしょう。まして赤の他人に公開する複雑なコードがこんな状態では、完全に内容を理解してくれる人は殆どいないも同然の状態になるでしょう。
そこで3つ目。
------------------------------
void main()
{
Console.WriteLine("●●●●");
Console.Beep();
Console.WriteLine("△▽△▽");
Thread.Sleep(3000);
Console.WriteLine(GetPingdly());//pingを送信し、それが帰ってくるまでの時間を計測し表示する
}
------------------------------
自作した関数GetPingdlyにのみコメントをつけているので、①に比べて非常に(コメント的な意味で)すっきりとまとまっています。また、この状態であればGetPingdlyの存在を認知していない人でもその関数の内容を把握できるため、「他人が見てわかるソースコード」でもあるわけですね。
このようなコメントの記述方法だと、②の最後に触れたように「面倒なもの」がかかわってきた場合でも「他人に分かりやすい」ソースコードになるわけです。また、自分が書いたソースコードを後から見返すときにも、コードの内容を一目でつかみやすく、大変便利になります。
ちなみに、③の方法を、「DLLImportを多用するソースコード」に使うと・・・
場合によっては、コードの量が3~4倍になってしまいます(^^;
VC#だと、summaryの部分はまとめて折りたためるので・・・ある程度は良さそうなんですがね(ホントカオイ
2009.9.3 AM10:52 一部表記を修正しました。指摘してくださった方ありがとうございます。
登録:
投稿 (Atom)