愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
by F-shin
[ このサイトについて ] [ F-shinについて ] [ トップ ]
author:えふしん
photo_20.jpg
藤川真一について


人の良いジョンカビラと言われます。
AMN sponsor rolls
冷や汁大好きです
(sponsor Ad)
モバツイッター
ヘルメットアタカ
F's Garage関連
このカテゴリ[会社活動]の最新30件
キャッシュしないQRコードメーカー ライセンスビジネスとオープンビジネス ホウレンソウに罪はない! 点検商法 AmazonのkindleとiTunes Store 何故、Linuxはデスクトップで普及していないのか?を読んで。 ソフトウエアエンジニアの底力は時間外活動で培われる、けどね。 オトナ買い的にミニ四駆を作った 大学生が言う「コミュニケーション能力」の過剰さ 技術力とタレント性 新卒採用は人材投資枠だから利用しなきゃ損損 iPhoneへの評価について。 そんなこと誰もやらなかった、が正解なのでは? コストカットが目に見えてきたTV局 大手町ビジネススクール「アンケートで市場は分かるのか」に参加した。 傾きが常にプラスになってないと、死んだとみなす悪い癖が世の中にはある すごいコードが保守性悪いっておかしくないですか? オレたちがなんとかしちゃってるのがマズイんじゃね?ってよくある現場の一言 ちょっとちょっとカラメルのリニューアルで聞いてくださいよ。 コミュニケーション能力は相対的な概念 僕が僕であるために必要なこと。 Googleを辞める理由とはの記事 批判からはクリエイティブは生まれない イマドキのユーザー登録が絡む系のデバッグの小ネタ ソースコードが「一期一会」の意味 ソースコードは一期一会の精神で書くべし。 仕事の仕方 3つ >「ソフトウェアの部品化」が失敗する理由を読んで。 バナーコンテストをやっていました。 誰でも同じものが開発できるようにするためには多大なコストがかかってる。
[このカテゴリをもっと見る]
Powered by
Movable Type

May 10, 2008

F's Garage:ソースコードは一期一会の精神で書くべし。」のエントリーは僕としても書いた後で、いろいろ思うことがあったが、「一期一会」という言葉には多少こだわりがあります。

以下に書く話は、前回のエントリーを書いたときとは全然違うことを思って書いているので、矛盾が起きるかもしれません。ただ、以下の件を思い出したので書いてみます。

結構、僕にとって衝撃だったのが先日PDFが公開されていたサウンドハウスの情報漏洩の件でした。

サウンドハウスニュース

↑のリンクで公開されている情報漏洩に関するプロセスが書かれたPDFは皆さん読まれたでしょうか?

全然事情は知らないので、以下は妄想ではありますが、一度動き出したシステムが、さまざまな理由やビジネス判断で修復をするチャンスを得られなかったのかなぁと思うと、非常に寂しく思っています。

いろんなツッコミ所はあって批判するのは簡単なんですが、やっぱり、どうにかできないものか?と考えています。

システムはActiveServerPagesで、きっと古いシステムだろうから、場合によってはまだSQLインジェクションという言葉も出ていなかった時代のころなのかなと思うので、まだ、SQLインジェクション対策なんて当たり前だと思っている人と、そうでない人の両方がいてしかるべき時代に作られた可能性もあります。

それはそれとしても、いろんな事情で最初に作った人と運営者とは別れてしまって、後々の運用がいろんな会社になったりして、根本のソースコードを触る人は誰もいない、というのは往々にしてあることです。

関わる業者が変われば、後から関わる業者は、できるだけ元のソースコードは触りたくないものだし、同じ会社がメンテしていたとしても、お金が流れなければ修復するチャンスはないですし、当時の担当者が退職していたりすると、もうそのソースコードは触らないことが一番リスクが低いというケースもあります。

機能追加するケースも、改築ではなく、増築するカタチでできるだけ元のソースコードには触らないというのは割とありうることだと思います。それが自社だろうが受託だろうが。

だからよくある話として、業者が変わるとできるだけ新規で作りたがろうとします。しかし、ECにおいて一回ビジネスが回り出しているシステムを止めたり新規システムに入れ替えるのは、ビジネスのリスクが伴います。特にSEO対策も含めるとURLを変えたくないハズです。新規にしたらgoogleからの訪問者が減ってしまいましたということを許容するためには、相応の理由が必要ですが、それを提案して納得できるケースは少ないでしょう。

さまざまな事情でメンテナンスしにくい状況に追い込まれたソースコードは、もはやリファクタリングされることはありません。

つまりソースコードは適切に管理されるハズというのも、またなんとも言い難い現実があると言うことだと思っています。(オープンソースもそうですね。)

また、もう何年も運用されているシステムで、奥底に埋め込まれてしまって、いろんなところから参照されているユーティリティなどで「ここはもう誰もいじれない」と思うのは、全くないと言えるでしょうか?


僕も自分のエントリーを書いた後で、あ、これって、だからテストいらねーとか言ってるのアホじゃん、と自分の発言と行動について振り返るチャンスに恵まれ、だからこそユニットテストとリファクタリングを両立するように物作りすべきというのはやっても良いよねとは、確かに思いました。プログラマの視界範囲ではね。


しかし、さまざまな事情で、もう誰にも面倒を見られることなく運用だけされ続けるケースもありうると思います。だからこそ、今の日本のWebシステムにおいて、SQLインジェクションの被害が頻発していると言っても決して過言ではないと思っています。

だから、どんなに仕事の状況に問題があるケースだったとしても、プログラマはプロとしての誇りを持って、そのときにできる限り良いコードを書いて欲しい。もうそのソースコードがメンテナンスされなくなっても問題ないソースコードを書けるようになって欲しい。それは切実な願いでもあります。

(別に情報漏洩をプログラマのせいにしているわけではありません。さまざまな不幸の中の一つということです。)

あと第一、リファクタリングは低いコード品質を正当化するものではありません。リファクタリングなんて言葉を使える人がやってることは、そもそも悪くない物を、より良い物に改善するプロセスだと思っています。

だから、リファクタリングについて主張される方と比べると、多分、僕が言ってることはもっと低い次元の話だと思っていますが、正論ではなく、そういう現実は絶対に存在しているという確信もまたあります。別にそんなことを納得されても、ちっともうれしくもない話ではありますが。

■同じカテゴリ[会社活動]のエントリー
>>前の記事 ソースコードは一期一会の精神で書くべし。
<<次の記事 イマドキのユーザー登録が絡む系のデバッグの小ネタ
■このblogの書き込み最新3件
Ubuntu プリインストール Inspiron mini 9 携帯、スマートフォン、PCが分け隔てなく使える世界とは? Overtureのインタレストマッチの可能性
この記事への提案、提言一覧
この記事への提案、提言









あなたの情報を保存しますか?