僕は右へ行く

適当に書くよ!

プログラムのコメントの書き方でプロジェクトのレベルが分かります

こんなことを言われたことがあります。

「書いているコード、一行一行にコメントしていって」

( ゚д゚)←そのときのリアクション。
一応、理由を聞いてみたら、

「新人が入ってきたときに読めないって言われるから。自分も読めないし」

(;゚ Д゚)
で、実際にそのときにあったコード見てみたら

// i に1を足す
i = i + 1;

(イメージです)
みたいな一目で分かることまで書いてあって、それは明らかに過剰作業では?、と思いました。


プログラムのコメントに『何をしているコードか』を書いても無意味なので、代わりに『なぜそのようなコードになったのか』を書くようにしよう - じゃがめブログ


そんなレベルでなくて、その言語の構文をコメントで表現したりしているのです。
つまりプロジェクトメンバーの一番低い人に合わせたコーディングになっていて、それに合わせてコメントも書いていたと。


確かに無駄に変な書き方をすべきでないのは当然ですが、「何をやっているか分からないから」という理由で、コメントを余計に(しかも肝心の「なぜそうしたのか」は書かれていないというおまけつきで)無駄に書かせるのだけは本当に意味不明だなーと思ったのでした。


あと、絶対日本語で書け、とも言われましたねー。
理由はもちろん「英語が読めない人もいるから」。

PSYREN読みました

週刊少年ジャンプ連載作品の「PSYREN」(Rは左右反転)を一気に買って読んだのでその感想です。

PSYREN-サイレン- 16 (ジャンプコミックス)

PSYREN-サイレン- 16 (ジャンプコミックス)


きっかけは 超お勧めの漫画を一つだけ書いてけ BIPブログでおすすめされていたからという至極単純なもの。何か一気に漫画を読みたくなったので。
以下ネタバレ感想とか突っ込みとかいろいろ。

  • ストーリーと設定はなかなか興味深い。
    • なぜ突然異世界に飛ばされるのか、その目的は何か、PSIとは何か、など後半で明らかになるストーリーや設定はほほうと思いました。
  • 序盤から中盤にかけては丁寧に描かれてるのに、最後は詰めすぎていろいろ駆け足なのがちょっと残念。

あとはほぼ無粋な突っ込み。

  • タイムスリップものの宿命として、「未来が変わる」ことに対してどうするか、みたいなことがどうしても起こるけれど、どうして未来が2つにしか分岐しないと考えているのか気になってしょうがなかった
    • 次に行くときのサイレン世界は、前回行ったサイレン世界であるとどうしてかんがえるのだ?
    • サイレン世界から帰るときの現代がどうして自分のいた世界だと判断できるのだ?
      • 少なくとも大きくなったカイル達と初めて会ったときと、更に再会したときには未来の状況が変わっていて、記憶も異なっていた。「未来が変わった」という判断ではなくて、違う未来に来たと考える方が自然な気がする。
      • 別の未来を作り出す原因を現代で行ったのだから当然なはずなのに。
  • 最初に出た2人の友達はほんとにストーリーに無関係だった。
  • 他人のためにテレカを使って電話をしたのはアゲハだけだったらしいけれど、じゃあテレカ渡す相手をちょっとは選ぶようにしておけよと思った。
  • 武智刑事の伏線は回収されなかった。何しに出てきたんだ。
  • ライズのセンスとストレングスはもう忘れられてて残念。
  • あとバーストストリームも。
  • 行ったことのない場所へ40km先まで転送できるトリックルームすごすぎでしょ。
  • 最終的に元の時代の1年後に飛んで終わってるのが地味に可哀想。
    • バラ色の高校生の貴重な1年をなかったことにされるとは。
    • というか別に隕石落ちてくる直前の時代にジャンプしなくても普通に現代に返せばそれでよかったのでは?
      • そうすればワイズが街を壊していくのも防げるかもしれなかったし、隕石回収ももっと準備ができるんだからやりようはいくらでもあったように思うのだが。
  • 最後アゲハが脳にダメージ負ってるんだから誰かCUREで癒してあげればよかったのに。
    • ばーさん予言してる場合か。

夜科アゲハ

  • ゲハの何でも屋設定は特に意味なかった。
  • メルゼズ・ドアが過去の文献に載ってたのは伏線かと思ったけど、たまたま同じ能力だったってことなのかな。
    • 応用がある、柔軟である、というけど他の奴ももっと頑張ればいろいろできそうなのあるだろとは思う。
    • むしろどんな形状にもなれるなら、メルゼズ・ドアの形態少なすぎるだろ。
  • ランスの「ホーミングは2回」プログラムが今ひとつわからない。
    • 何にホーミングしているのか。
    • 何がホーミングしているのか。
      • 単純に最初に使用されてた描写から判断すると核にヒットし損ねた場合、その線上から核へ最短となる点が、ホーミング開始時を起点にして、線が動いている感じなんだけど、それってホーミングっていうのか?

雨宮さん

  • 結局雨宮さんがサイレン世界に行くことになったあたりが謎のまま。
  • 正直なところ、初期のサイコな雨宮さんのままでいてほしかった。
    • デレてるヒロインはただのヒロインだ。
    • 「フフフ 私 あなたの核をちゃーんと真ッ二つに できたみたい」(超笑顔)
    • 「この際 逮捕とかどうでもいいしょ?」(超真顔)
  • 雨宮さんがトランス系だというのが好印象。
    • それを補っての武器遣いとなっているのもいい感じ。
    • ガンガンなバトル系だったらバランス悪くなるし。
    • ただもっとトンファーみたく、積極的に武器を使っていってほしかった。
      • インサニティ・サイズも雑魚相手の1回しか使わなかったのも残念。
    • 最後にもらった妖刀 心鬼紅骨もなんか中途半端な扱いになってしまってる感じがする。
      • その辺りもう少し丁寧に描いて欲しかった。
      • 出てきたアビスもアビスで鎌使ってるし。
  • というか記憶が消去されていく後遺症はどこにいったのか。
    • 割と重要な設定だったのに都合良くフェードアウトしてしまったのがもったいない。
      • アビスさんあたりが食い止めていてくれていると妄想。

朝河飛龍

  • 朝河飛龍は序盤だけのパーティでもっと活躍してほしかった。
    • 最後とかアッシーくんじゃないか、なんだこの扱いは。
  • ライズのストレングスが強い設定も活かせなかった。

望月朧

  • 天樹弥勒に似てるのって実はアゲハよりも朧だったんじゃないか説
    • 生命を操っているみたいだし
    • 世界が自分を中心に廻っていると思っているし。

霧崎カブト

  • 実質的な戦闘は最後の1回だけだったからもっと見せ場が欲しかった。
    • 「見える」のイメージがもっと具体的に描写されてればわかりやすかったんだけど。
    • 「死の脅威を移し返す」というのも基本格下相手にしか使えなさそう。

マツリ先生

  • マツリ先生はサイレンゲーム「唯一」の達成者だったのかな?
    • そうでなければ生還者は少なくともPSIは使えるわけで、滅亡する未来の中で何もアクションをとっていない、というのはどうも腑に落ちない
  • マツリ先生が雨宮さんだけを弟子にしているのはなぜだろう。
    • マツリ先生がゲーム中、あるいはゲーム達成後も見守る中、サイレン世界から生還してきたのが雨宮さんだけだった、ということだろうか。
  • マツリ先生も能力名つけるかすればよかったのに。
    • オールマイティに突き抜けたタイプって、そりゃあちょっと説明がアバウトすぎる。なにかそれなりの能力名があれば格好ついたのにな。

イアン

  • 最高レベルのCURE遣いが表面上性格悪く見えるのがよかった。

天樹院サイキッカー

  • カイルの空間系が最強レベルすぎないか。
  • ヴァンにも見せ場があったら良かったんだけど。
  • マリーにも能力名が欲しかった。
  • 碓氷戦でどうして本気で怒ったのか、辺りの伏線も特になかったかな。
    • 他人の記憶を踏みにじるのが心当たりがあったのかな。

夜科朱鳥

  • いきなりPSIの奥義みたいなことができてたこの人は何者だったのか謎。
    • 天才というならこの人だったのでは?

ワイズの人たち

  • 現代でクリエイターのりこを攫うためにはるかぜ学園に行ってたけど結局カプリコそんなに重要な扱いではなかったな。
    • ジュナスにりこは懐きすぎじゃないか。

07号

  • ゲハが07号と呼んでいたのがよかった。

MacOS X LionにEclipseとhomebrewでTomcatをインストールする

homebrewをインストール

$ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"
$ brew doctor

Error: You have no /usr/bin/cc.
This means you probably can't build *anything*. You need to install the Command
Line Tools for Xcode. You can either download this from http://connect.apple.com
or install them from inside Xcode's Download preferences. Homebrew does not
require all of Xcode! You only need the Command Line Tools package!
Error: Git could not be found in your PATH.
Homebrew uses Git for several internal functions, and some formulae use Git
checkouts instead of stable tarballs. You may want to install Git:
  brew install git
Error: Your compilers are different from the standard versions for your Xcode.
If you have Xcode 4.3 or newer, you should install the Command Line Tools for
Xcode from within Xcode's Download preferences.
Otherwise, you should reinstall Xcode.
Error: Your Xcode is configured with an invalid path.
You should change it to the correct path. Please note that there is no correct
path at this time if you have *only* installed the Command Line Tools for Xcode.
If your Xcode is pre-4.3 or you installed the whole of Xcode 4.3 then one of
these is (probably) what you want:

    sudo xcode-select -switch /Developer
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

DO NOT SET / OR EVERYTHING BREAKS!

XcodeのPreferencesからCommand Line Toolsをインストールします。
もう一度。

$ brew doctor

Error: Your Xcode is configured with an invalid path.
You should change it to the correct path. Please note that there is no correct
path at this time if you have *only* installed the Command Line Tools for Xcode.
If your Xcode is pre-4.3 or you installed the whole of Xcode 4.3 then one of
these is (probably) what you want:

    sudo xcode-select -switch /Developer
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

DO NOT SET / OR EVERYTHING BREAKS!

言われた通りにします。

$ sudo xcode-select -switch /Developer
Password:
xcode-select: Error: Path "/Developer" is not a directory.

違いました。

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
$ brew doctor
Your system is raring to brew.

うまくいきました。


Eclipseインストール

こちらを参考にしました。ありがとうございます。
OS X Lion に Eclipse 3.7 を入れる + 日本語化 - It’ll be


http://www.eclipse.org/downloads/から
Eclipse IDE for Java EE Developers」をダウンロードします。
アプリケーションディレクトリで解凍します。

$ cd /Applications
$ tar zxvf ~/Downloads/eclipse-jee-indigo-SR2-macosx-cocoa-x86_64.tar.gz

日本語がいいのでhttp://mergedoc.sourceforge.jp/
「Pleiades 本体ダウンロード」から安定板をダウンロードします。
Eclipseディレクトリに直接解凍します。

$ unzip ~/Downloads/pleiades_1.3.3.zip features/* plugins/* -d /Applications/eclipse

Pleiades使用を明記します。

echo '-javaagent:/Applications/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar' >> /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini

 

Tomcatインストール

先にインストールしたhomebrewでインストールします。

$ brew install tomcat

バージョンはいま7.0.26でした。
Eclipseとの連携の前に、起動するか確認してみます。
起動はcatalinaコマンドで行います。

$ which catalina
/usr/local/bin/catalina

以前はsetenv.shを用意していなければならなかったような気がしますが、いまは自動で必要なものを決めてくれるようでそのままでいいみたいです。
ただデフォルトの8080ポートを僕のMacではnginxが使用しているため、ポート番号を変更しておきます。

$ vi /usr/local/Cellar/tomcat/7.0.26/libexec/conf/server.xml
 70     <!--Connector port="8080" protocol="HTTP/1.1"-->
 71     <Connector port="8090" protocol="HTTP/1.1"
 72                connectionTimeout="20000"
 73                redirectPort="8443" />

8090にしました。
改めて起動してみます。

$ catalina start
Using CATALINA_BASE:   /usr/local/Cellar/tomcat/7.0.26/libexec
Using CATALINA_HOME:   /usr/local/Cellar/tomcat/7.0.26/libexec
Using CATALINA_TMPDIR: /usr/local/Cellar/tomcat/7.0.26/libexec/temp
Using JRE_HOME:        /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
Using CLASSPATH:       /usr/local/Cellar/tomcat/7.0.26/libexec/bin/bootstrap.jar:/usr/local/Cellar/tomcat/7.0.26/libexec/bin/tomcat-juli.jar

http://127.0.0.1:8090/ にアクセスしてTomcatのWelcomeページが出ればOKです。
catalina stopで止まります。

参考:
Do, or do not. There is no try.: Tomcatサーバのポート番号の変更方法



EclipseTomcatプラグイン

http://www.eclipsetotale.com/tomcatPlugin.html#A3から
tomcatPluginV33.zipをダウンロードします。
解凍してできた com.sysdeo.eclipse.tomcat_3.3.0 を
eclipse/dropinsにそのままコピーします。

Eclipseを起動して、環境設定から設定します。

Eclipseの「Tomcat起動」で先の http://127.0.0.1:8090/ にアクセスし同じ画面が出れば終了です。

参考:
9. EclipseにTomcatプラグインをインストールする | 渋谷生活
Tomcatプラグイン - EclipseWiki