構造化、とはいっても.... from:プログラマ2.0日報
2008年06月24日16時29分 / 提供:あすなろBLOG
面白いページを見つけました。
知力勝負! goto文類似構文を全て封じた構造化パズル・プログラミング!!
.....要するにですね、いわゆる「構造化プログラミング」というものを、マジメに受け止めすぎると、本当に「パズル」としか言いようのない、直感的理解を拒むような難解コードに化けてしまう...という実は当たり前のことを、このページはホントは主張しているわけです(break じゃなくて、ミスしやすいフラグ管理をすることを考えたらぞっとしますよ....)。
本当に恐ろしいことはですね、今でも break や continue を使うのをためらうような、「構造化原理主義者」みたいなコードがあったりすることです。言い換えると、このパズルで禁止されていること、
- 1. ループを抜ける break の禁止(switch 文の中は当然OK)
- 2. continue 禁止
- 3. return は最後に1個だけ
は、イマのプログラムでは全然守るべきことではないと言っていいわけです。というか、Java に関して言えば、Java 自体の標準ライブラリコードでも見てみれば一目瞭然で、そのような不自然な「構造化コード規約」はまったく採用されていないわけですし、また広く使われているオープンソースのコードでも同様です。なぜか日本の業界では、そういう時代遅れの規約感覚が残っている(教育現場が遅れてるの?)のが、私は不思議で仕方がないのですが....
ですからこのパズルは一種の「系統的脱感作」として役に立つのでは...なんて面白く感じているのですね。実際、このように徹底した「構造化規約」は、タダの知的遊戯に過ぎません。
ちなみに、悪の権化であるところの goto 文ですけども、これだってキレイな構造の中で使うやり方がないわけではないのです.....
関連ニュース:オープンソース
- SRA OSS、10万通のメールを1秒で検索可能なメールクライアント「Sylpheed Pro」を発表CNET Japan 10日20時21分
- 人を信じて味方を増やす・・・・挑戦したい!あすなろBLOG 10日18時59分
- オープンソースのメーラー「Sylpheed」に¥3,150のPro版登場スラッシュドット・ジャパン 10日15時33分
- 「オープンソースカンファレンス2009 Kansai」本日開催スラッシュドット・ジャパン 10日13時05分
- アップル、「Safari 4.0.2」をリリース--深刻な脆弱性に対応CNET Japan 10日11時28分
- << 思わず見入ってしまうおも…
- IT一覧
- ソニーとライブドア、ブロ… >>
ITアクセスランキング
- いよいよ明日発売の「ドラゴンクエストIX(ドラクエ9)」は史上最高の売り上げを達成かGIGAZINE 10日17時25分(1)
- 【ゲーム×コンボ】ドラクエ9の発売日当日の販売状況は? 朝7時販売は……
ゲーム×コンボ 10日11時45分(2) - 温故知新!ファンを魅了するデジカメ「ライカ M8」【最新口コミ モノ・トレンド】
ITライフハック 10日10時00分(4) - ついに『ドラクエIX』の本物ゲームデータが流出! マジコン対策は導入部分でのフリーズ
ガジェット通信 10日01時23分(14) - 携帯電話の着信音を鳴らすのは著作権侵害で追加料金の支払いが必要であると著作権団体が主張GIGAZINE 10日15時50分(9)
- バーチャル恋愛、愛の大安売りに陥る男たち ――「ネット婚活サイト」活用法と落とし穴 ダイヤモンド・オンライン 10日11時07分(6)
- ドコモ、ヱヴァンゲリヲンケータイ「SH-06A NERV」の発売日を22日に決定
インターネットコム 10日10時00分(4) - 【アンケート結果発表】『ドラクエIX』発売前夜!初めて遊んだドラゴンクエストは?
インサイド 10日12時44分(9) - PlayStation Home内にも等身大ガンダムが出現! 〜 部隊統率型アクション『機動戦士ガンダム戦記』プロモ
インサイド 10日19時15分(1) - ドラゴンクエスト9とマジコン対策ツカサネット新聞 20日20時27分(5)
部長号泣!俺の英語が通じたぞ!とうとう夢が叶ったんです。英語の会議で通訳なしで成功したんです!
英会話習得の秘訣ですか?テキスト眺めたらダメ!ツライものは続かな
い、やり方変えたんですよ。
やっと見つけた英会話法はコチラ










![[新製品]実売14,900円――ハンファ・ジャパン、3.5V型タッチパネル液晶のポータブルナビ](http://image.news.livedoor.com/newsimage/0/d/0df0b_58_82bd2cff92dd942128413c5d0a424fdd-s.jpg)



行きの電車、帰りの電車で