リファクタリング、させてくれ

このエントリーをはてなブックマークに追加
会社で見つけた糞コード。
自分で書いたけど、なんかあやふやなしっくりこないコード。
そんなコードを、リファクタリングします!

うpろだ
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
かめはめ波
31:04/04/13 22:49
あまり盛り上がりそうも無い無いな...

例えば、これ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1076074304_6/heapsort.zip
コマンドライン引数を、ヒープソートするコードだ。

片手間に、リファクタリングしてみてはどうだろうか。

>3
そのソースではリファクタリングする意味が無いな
unit test一式がないのにリファクタリングするのはちょっと
OnButton1Click関数の中にコードが7000行くらいあるVBのソースコードがあるんだけど
やってみる?
7デフォルトの名無しさん:04/04/13 23:50
>>6 どうやって「ふるまい」を保つ検証をするんだ、そんなの(w
81:04/04/13 23:53
>>6
ちょっとやってみたい
飽きるほどやってるのでもうやりたくない。やりたくないのにやりたくないのに。
リファクタリングする前にこれを読め。
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringMalapropism
>>5>>7の懸念についてFowlerが語ってますよ。
111:04/04/14 00:05
>>10
じゃあ、「いわゆるリファクタリング」で。
1210:04/04/14 00:12
断固として拒否する。
137:04/04/14 02:16
>小さな「振る舞いを保持したままの変化」(リファクタリングと呼ばれている)

だから >>6 をどうやって「ふるまい」を保つ検証をするんだ
使えないコードは捨てる勇気も必要。
15デフォルトの名無しさん:04/04/14 09:56
次回!
「リファクタリング断行!? 脳内テストケースで、ビルド・オン!」
乞う御期待!
自分の仕事に役に立つオープンソースプロジェクトの
リファクタリングすれ
17デフォルトの名無しさん:04/04/14 10:16
>>16
互換性のために変えられないインターフェイスが腐っているので、やる気が起きません。
18デフォルトの名無しさん:04/04/14 10:51
EclipseのリファクタリングとXPのリファクタリングはちょっと違うかな。

Eclipseのは限定的でリファクタリングのすべてじゃないってか
>>18
そんな当たり前のことを言われても・・・。
ふるまいなんて気にしないでリファクタリングしてるよ。
だから客にリファクタリングしただろヴォケといわれます。
>>20
それはリファクタリングじゃなくてリストラクチャリングかも
22デフォルトの名無しさん:04/04/15 12:06
つまり、リファクタリング対象とテストケースの両方を書けばよいのだ。
>>22
問題は、すでに動いてるコードに対するテストコードを後から書くと
テスト漏れやミスが分かりにくいことだな。
テストファーストだとテストコード自体のデバッグも同時に行うので
リファクタリングするときにはテストが信頼できるんだが。
>>22
>すでに動いてるコードに対するテストコードを後から書くと
>テスト漏れやミスが分かりにくい
ん?なんで?

>テストファーストだとテストコード自体のデバッグも同時に行うので
>リファクタリングするときにはテストが信頼できるんだが。
信頼できるって、何が?
テストしながらテストコードデバッグするなら、
テストコードがまちがった方に倒れるかも知れんじゃん。
>>24
>すでに動いてる〜
テストがfailしない原因は、何もテストしていないから、という場合がある。
きちんとテストが失敗するターゲットを用意して、すべてのテストが機能することを
確認してから実ターゲットをテストするのなら確実だが・・。
テストファーストはその工程を内部に組み込んでいるってこと。

先にテストが正しく機能することを確認(=デバック)できたところで
初めてターゲットコードの実装を開始するので
同時っていうよりテストのデバッグが先か。それでも実際途中でテストのミスが
発覚することがあるので同時っていうイメージだったが、その場合も
テストの修正・確認が先で、その動作に基づいてターゲットの実装だな。
密かにリファクタリングして納品したコードを眺めていたら
バグを見つけました。やばいよー
そういうことか。まあでも、最初にターゲットをパスからはずしておけばほとんど同じじゃん?
同時っていう〜 は別に動作済みコードに対して後からテスト書いても別に変わらんじゃん。
28デフォルトの名無しさん:04/04/16 01:48
>テストがfailしない原因は、何もテストしていないから、という場合がある。
ん?なんで?
そんなんでテスト漏れに気づかないなんてあるわけないじゃん。馬鹿かお前。

>きちんとテストが失敗するターゲットを用意して、すべてのテストが機能することを
>確認してから実ターゲットをテストするのなら確実だが・・。
確実な方法があるのにそれを無視して意見してたわけか・・・。
やっぱり馬鹿だお前。

>テストファーストはその工程を内部に組み込んでいるってこと。
だからなに?まぁ、馬鹿じゃ仕方ないか・・・
29not in {1, ..., 28}:04/04/16 01:58
>>28
> そんなんでテスト漏れに気づかないなんてあるわけないじゃん。馬鹿かお前。
常にsuccessするようなテストを書いてしまう可能性があるということだ。

> テストファーストはその工程を内部に組み込んでいるってこと。
> だからなに?まぁ、馬鹿じゃ仕方ないか・・・
テストファーストであれば、
テストがfailすることを最初の動かないターゲットコード
そのものによって確認しておけるが、あとでテストするのであれば、
failするターゲットを別に書かなくてはならず、手間がかかる。
>>26 バグを埋め込んだとしたらそれはリファクタリングではない
元からのバグであれば...まぁ仕方がないか(w
>>28
つまらん
32デフォルトの名無しさん:04/04/16 07:47
>>28
つまらん
>>26
実際に障害が発生する前にバグを見つけたということで、ここは前向きに喜ぶべし。
運用環境の修正をお願いしてもらいましょ。組み込みソフトだったりするとアレだが…
そういやFowlerの「リファクタリング」には、リファクタリングには
バグフィックスやコードレビューの効果があるって書いてあったな。
34デフォルトの名無しさん:04/04/16 10:06
ちゃんと設計もコーディングも出来ない外注に限って、
「その件はリファクタリングで解決するので、このままで良いんです」とか訳のワカラン御託を並べがち。
じゃ、今すぐリファクタリングしろよ、設計レベルでw

ソースもろくすっぽ読めないマネージャに限って、
そーゆー戯言をまじめ信じちゃうからコワヒw
35デフォルトの名無しさん:04/04/16 10:25
ちなみに、俺。
昔いた職場で、それぞれ数十人月〜数百人月のJavaアプリのソース、3〜4システム分集めて、
リファクタリングして再利用可能なコンポーネントベースの設計にしる!
って仕事に関わったことがある。なんか、事業部の部長が端から来てて、怖かったでつ。

コンポーネント抽出だったら楽勝なんだけどねぇ〜。
全部漏れなくコンポーネント化して、再利用&拡張可能にする、
つうのは難しいよ、実際問題として。

やっぱ、大規模システム全部をリファクタリングで整理します、とか言うのは、
ソース再利用ビジネスならまだしも、
現在運用中〜運用開始直前のシステムでは、
難しいのではないか、と。

#リファクタリング計画書とユニットテスト報告書を作成しる!、と。
発想は、そーゆー経験がないから言っちゃうんだろうなぁ〜、と。
仕事のプログラミングはつまらんので
「りふぁくたりんぐ」なぞさせんでくれ
>34
>じゃ、今すぐリファクタリングしろよ、設計レベルで

それはリファクタと言わない
リストラクチャだ
>>35
再利用可能性とかコンポーネント化はリファクタリングの目的でもないしねえ。
open-closed であるように作りはするけどさ。
じゃ、リタクファリングでもいいからさあ...
リファレクタリング
41デフォルトの名無しさん:04/04/17 15:57
>>38
ヒヨコちゃん、ウマウマ
>>35

激しく謎な仕事だな
目的の無い再利用は矢口でオナニー
43デフォルトの名無しさん:04/04/17 17:56
>>42
>>42って、DBマガジン別冊「SEの仕事」とか見て、
「よしっ、俺もSEなるぞ」とかいっちゃうヘタレな香りがする

#あれ、底辺だよな〜(苦笑
44デフォルトの名無しさん:04/04/17 18:23
>#あれ、底辺だよな〜(苦笑

キモッ
オエオエオエェェェェ
底辺、って、「大変」の江戸表現なのでは?
俺もSEなるぞ、って「俺もSEだぞ」なのでは?
>>44 × 健康管理室逝って、そのまま戻って来なくてヨシw
>>45 ◎ 優秀なリファクタラーでつね。機転が効くとも言うがw
>>46 判定不能。頭蓋骨開いて、頭の中をリファクタリングしてもらって来てくらさい。。。
48デフォルトの名無しさん:04/04/17 18:52
>>42
 >>42って、目先の利いた利益活動に向いていない。
 月いくらで、人生切り売りされる底辺生活に向いてるよw
どっちが底辺かの争いはマ板行ってやってくれ
50デフォルトの名無しさん:04/04/17 19:03
レクチャーとか言い出しそうな勢いだ・・・
42はXPの原則のYou are gonna need itのYAGNIを言っているのだと思われ
52デフォルトの名無しさん:04/04/17 19:11
YAGNIをレクチャーしてやったのは俺だとか言い出しそうな勢い・・・
53デフォルトの名無しさん:04/04/17 19:44
XPマンセー厨房うぜぇ〜

リファクタリングってマーティンファウラが発明したんだと思ってるんだろうな。
それまでおまいは何ボヤボヤしてたんだ(プププ
>>53
OO を知る前から OO をしており、
デザパタが流行る前からデザパタを実践していた人ですね?
55デフォルトの名無しさん:04/04/17 20:15
>>54
>OO を知る前から OO をしており、

こっちは、よほどの田舎者か、はたまた「独立歩行者」じゃないと、無理でしょうな。
あ、1968年以前からキャリアがあったら、話は別だけどw

>デザパタが流行る前からデザパタを実践していた人ですね?
こっちは、1987 OOPSLA以前の話か。
1980年代中頃には、PaloAlto Smalltalk80はあちこちにライセンスされてて、
そん中には、例の本に載ってるパターンも多用されてるから、
あながち無理じゃないでしょ。
確か、本郷の某研究室では、PaloAlto帰りの教授が、Smalltalkプロセッサとか、並列Smalltalk開発してたし、
神田の某ソフト販売店では、Digitalk smalltalk/Vあたりの販売が始まってたしw
>>51 XPのYAGNIの説明
>53 項書換系の説明
それぞれキボン。
御意
隊長! 我々の乗っている船「OO号」は、
一体どこに向かおうとしているのでありますかっ!
>>58
船って何よ、フネって?
フネは波平の奥さんだよー?
>>56

You aren't gonna need it. (それは必要ない)

頭でっかちのOOオタクがやる将来のための抽象化
それはやるなというスローガン

抽象化によってコードは増大する
読みづらくなる
バグを出す
たいてい、要求は変わり、予測が外れ、役立たずのコードとなる
61デフォルトの名無しさん:04/04/17 21:06
>>60
Javaの批判はよしたほうがいい。
>>57 :でもコンピュータ・サイエンス(自然科学への計算機適用除く)って、
> :今じゃ、OOよりも影響力小さいよねw通信とか情報ならまだしも

>「通信とか情報ならまだしも」
は?意味不明
>>62
は?意味不明。
コンピュータサイエンスって言葉、10年前と比べて聞く機会ぐっと減ったでしょ。
国内はやっぱ、電気通信学会>>>>情報処理学会>>>>ソフトウェア科学学会かな、とw
64デフォルトの名無しさん:04/04/17 22:21
>>60
OOの人って、必ず師匠が居て、
その師匠が言ったことを1から10まですべて盲信しがちなんで、
サイエンス〜エンジニアリング指向の俺的に、議論がしにくい。

なんで、リファクタリングの話に、XPってような局所的なビジネス手法の話を絡めるのか、意味不明。
正直、予算と金と才能が有り余ってる場所に居れば、XPの精神を尊びつつ、XPの禁じ手を破り限界を極めることは、
極めて重要だと思う。Smalltalk作った連中だって、いろいろな経験と試行錯誤の末に、アレ作ったんでしょ。
要するに、他人の行動に制約を課して、他人の可能性を摘むような真似は、おやめなさい、つうこと。
65デフォルトの名無しさん:04/04/17 22:31
いや、>>42,>>62は、リファクタリング厨にはYAGNAIの教えを突き付ければ、
目的喪失〜自己矛盾に陥って、静かになると信じ込んで居るんだよ。
リファクタリングなんて、項書換系〜数式処理〜数学的証明の、一バリエーションに過ぎないのにw
66デフォルトの名無しさん:04/04/17 22:33
>65
そーいや、おまぃさんも昔は数式処理屋目指してたんだっけな。
きっかけは何よ?
67デフォルトの名無しさん:04/04/17 23:31
>>66
学部必須講義のFORTRAN講習でFORTRAN言語、おばかちん過ぎ。
数式をプログラムに自動変換できないなんて・・・信じられない労力の浪費だ・・・俺が何とかしなくては(嗚呼勘違い

数式処理というものがあるらすぃ。

Dylanの作者が作った XLisp, XSchemeで数式処理の独学開始!
MITのScheme本(アルゴリズムの構造と実行、だっけ?あのλ教入信用パンフレット)と、CQ出版季刊誌の数式処理特集(゚д゚)ウマー

学科のSunに Symbolics Macsyma (Sun3用)が入って、ビクーリ
Lisp文化の底知れないパゥワーに感動、UNIXとXとGNUとWIDEが気になり出す

自宅PC購入、Smalltalk/VとMINIXとLisp三昧の日々

隙間時間で卒論やら修論あげつつ (専門は物性基礎論〜物性計測のはずなんだが)、
心の中の本業は 386BSD上で DOE MAXIMAの稼働環境構築〜習得〜拡張準備と、
なんか型推論やら型システムの勉強、
あと岩波コンピュータサイエンスシリーズとか、構成的型論理とか構成的プログラミング本(PX)もつまみ食い、と。ついでに証明的プログラミング(BunBorgだっけ?)もw

結局、数千万の実験装置を占有しながら、本業は捗らなかったため、おいしい将来は全部雲散霧消!

そんなおいらですら、10年以上前の学生時代から数式処理やら証明的プログラミングの基礎にある項書換系を念頭に、手による項書換系シミュレーションとして、リファクタリングを実践していた。

要するに、XPとリファクタリングは、もともと無関係ってこったw
>>63
コンピュータサイエンスは無駄と言っといて、訳ワカメ。流行り言葉と内容の区別がついて名下げ。
サイエンスとエンジニアリングの区別もついてなさげ。学会序列もレス内容との相関不明。
ま、いいけど。

項書換え云々もいいが、現実として副作用はどうよ。
つってもスタックがちょい増えたりするくらいか。
69デフォルトの名無しさん:04/04/17 23:43
>>68
すいません、何をおっしゃっておられるのか、よくわかりません。
批判する時は、「おまいの発言は間違ってる」などという子供じみたやり取りは無しにして、
「おまいさんの〜という発言は、〜という事実に反しているから、間違いだ」と正確に発言していただけませんか?

あと、あなたが素晴らしいお考えをお持ちだとしても、スタック云々などという実装上の概念を持ち出した段階で、
非常にレベルの低い、はっきり言って話が判っていらっしゃらない方の発言と、まるで区別がつきません。
言語能力が低いから、そのように断片的な言葉しか吐けないのか、
あるいは、知らないことを知ったかぶりして、世間に迷惑をかけても気にしないが故のご発言なのか、
はっきりしていただけませんか?
70デフォルトの名無しさん:04/04/17 23:47
>>69
またいつもの、知ったかぶりだよ。
リファクタリングと副作用、なんて今更なこと言い出す位だから、お里が知れてる。(大岡山の近所かな〜と苦笑
71デフォルトの名無しさん:04/04/17 23:51
たしか立命館のセンセが、リファクタリングツール作ってたね。
あのツールの話をしれば、大岡山のご近所の彼も納得するのでは?
と言ってみるテスツ
実装=馬鹿ですか。そうですか。高貴な爺さんだこと。
73デフォルトの名無しさん:04/04/17 23:58
>コンピュータサイエンスは無駄と言っといて、訳ワカメ。

日本語ちゃんと理解できないんですかぁ?

>流行り言葉と内容の区別がついて名下げ。

あ、日本語は辛うじて判るけど、僻みっぽいご自身を基準に相手を貶めることしかできないようですねw

>サイエンスとエンジニアリングの区別もついてなさげ。

これはおもろい。ここ1〜2カ月で、最高に笑えるジョークだw
さっそく、あなたの珍説を誤解珍くださいw

>学会序列もレス内容との相関不明。
>ま、いいけど。

因縁つけて、にげるんじゃねぇからよ、この糞ガキ

>項書換え云々もいいが、

知らない言葉はいつもスルー、これじゃぁいつまでたっても賢くなりませんね。
周りの人は皆気づいてるけど。

>現実として副作用はどうよ。

これ、マジ?かわいそうになってきた。。。

>つってもスタックがちょい増えたりするくらいか。

あ、答えわかるなら、さっさとご高説を誤解珍ください。おながいします。
できることなら、ソースではなく、操作的意味論あたりでおながいします。
74デフォルトの名無しさん:04/04/18 00:00
>>72
スレの流れと無関係ですね。
デムパを発信するのは、お控えください。
75デフォルトの名無しさん:04/04/18 00:05
>>67
>要するに、XPとリファクタリングは、もともと無関係ってこったw

もともとXPは、ビジネス至上主義に基づくノウハウ寄せ集め手法でしかありませんが、それが何か?

とゆーか、XPの話を、動かし難い真実であるかのように振り回すのは、ヤメにして頂きたいね、
経験浅い癖に。
76デフォルトの名無しさん:04/04/18 00:07

>>68 さんは、もう戻ってきませんw
またいつもの、って漏れってそんなにゆーめーだったのかぁ。

項書換えは知らないが、プログラム実行を計算ととらえての
等価保証だろ? 現実にはメモリの上限もあるし、CPUコストもあるよ。
高貴な爺さんが、そんなのは馬鹿の戯言とのたまうのは勝手だがね。

>>学会序列もレス内容との相関不明。
>>ま、いいけど。
>因縁つけて、にげるんじゃねぇからよ、この糞ガキ
絶妙の引用と逃げだね。
78>>68後半部分をリファクタリングしますた。:04/04/18 00:34
議題:リファクタリング
発言:「項書換え云々もいいが、現実として副作用はどうよ。
    つってもスタックがちょい増えたりするくらいか。 」
疑問点1:リファクタリングとは、本来、ふるまいを保ったまま、
    ソースコードを変更/再構成する技術を指す。
    これは項書換系における項の書換と、同種の技術である。
    しかし、実際は、ふるまいを保たないソース変更
    (いわゆる「いわゆるリファクタリング」)も使わないと、
    人間が意図するリファクタリングを完遂できない事が多い。
    これは、どーゆー事か?
    ・ふるまいを保たない、いわゆる「いわゆるリファクタリング」
     を使って、なぜ仕事を完成させる事ができるのか?
    ・一連の作業終了後、作業前のソースのふるまいは、完全に保たれるのか、
     あるいは、保たれない部分も出てくるのか?
疑問点2:>>68の「スタックが、ちょっと増えるだけ」という脳内妄想は、
    このスレ的にいかに扱うべきか?
    とりあえず、「ところでそのスタックは、どこに存在するのですか?」
    と尋ねたら、>>68は暴れないだろうか?
    
>もともとXPは、ビジネス至上主義に基づくノウハウ寄せ集め手法でしかありませんが、それが何か?
それはどうだろうね。
たしかに、ビジネスの実世界を前提にしてはいるけど、
きちんと現実世界に根ざして、創造性のないWFからの脱出を目指しているところがポイントかと。
そもそもOO自体、アカからは、技術検討はでてきても、基礎論てないんじゃないの?
80デフォルトの名無しさん:04/04/18 00:36
>>77 現実にはメモリの上限もあるし、CPUコストもあるよ。

やっぱ、中学生〜高校生かぁ〜。
相手にして、損したぜ。
イパーイ勉強して、学校卒業してから、ここにおいで。
81デフォルトの名無しさん:04/04/18 00:38
>>79
OO、基礎論?ハァ?

基礎論て、何を指すものか、勉強してから来い
やっぱ、アカ崩れの爺さんかぁ〜。
まあ、趣味としてはいい趣味だと思うよ。うん。
ソフトの仕事はしないほうがあんたと世のためだよ。
> 基礎論て、何を指すものか、勉強してから来い

すみません。用語が不適当でしょうか。(基礎論でどういう意味でしょうか)
なんとなく、OOって理論的な基盤の話を聞かないなぁ、と思ったもので。
型なら型理論とかあるし、計算としては計算量は明確にOが出るし、計算モデルもあるけど、
OOって、そういうカチッとした基盤がないのかなぁ、と。
84デフォルトの名無しさん:04/04/18 00:51
>>79
そのWFってなんでしょうか?
可能でしたら、お教え頂けますと幸いです。

ところで、OOはアカではなく、現場から出た、とのご高説ですが、
私の存ずる範囲ではOOは、極めてアカに近い研究活動、もしくはアカにおける実践から発生した
といっても差し支えないのではないでしょうか?
例えば、上に上げた、項書換系/検証技術とリファクタリング/ユニットテストとの類似性は、
単なる偶然というよりはむしろ、前者に関する知識体系の積み上げがあり、
その上に花開いたものではないでしょうか?

コンピュータ自体、チューリングを始めとする数学者の積み上げがあり、
次に戦争による莫大な計算の実行という需要があって、はじめて現実のものとなった、
と記憶しておりますが、いかがでしょうか。
85デフォルトの名無しさん:04/04/18 00:53
>>82
ん?しょうがくせいはおねむのじかんだよ。
おとなのかいわにくちはさむひまがあったら、
べんきょうしてなさい。おやすみ。
86デフォルトの名無しさん:04/04/18 00:56
>>83
話がループしてるね。数年単位で。
おれ、そのテーマを数年前に2ちゃんで開陳した覚えがある。
未だにそんな事言ってる椰子がいるなんて、信じらんない。
米沢県かMSRにでも逝って、教えを乞うてはどうよ?逝ければ、の話だが。
>・ふるまいを保たない、いわゆる「いわゆるリファクタリング」
> を使って、なぜ仕事を完成させる事ができるのか?
仕事って言葉がよくわからんけど、
クライアントも変えられる状況だからだろ?

>・一連の作業終了後、作業前のソースのふるまいは、完全に保たれるのか、
「いわゆるリファクタリング」をしたあと?それなら当然否でしょ。
88デフォルトの名無しさん:04/04/18 01:00
>>87
ハァ?
リファクタリングの意味 (上の方で他の人が書いてるね)すらおさえてない、
キティガイ発見。
89デフォルトの名無しさん:04/04/18 01:01
東京キティか、出張32か?!

変な奴が常駐してるね、
引きこもりだから、何にでも食いつく食いつくw

でも、中身がないから、誰にも相手にされない、かわいそうな人。
何をのたまってるんだか分からん。
こんなんで仕事ができてるんだろうか。
91デフォルトの名無しさん:04/04/18 01:05
鸚鵡とかインコとか、
意味も判らずに、人の口真似する動物って居るやん、

あの類いを相手にしてる気分だ。
書くこと書くこと、デタラメか思いつきか、はたまた過去レスのコピーばっか。(>>82,>>83,>>87)

糞だねこの板の粘着くんは。
9279:04/04/18 01:09
>>84
べつにアカを蔑視してないですよ。アカがなきゃ困るのは当たり前なわけで。

WFはウォーターフォールです。
現場にいないと信じられないかもしれませんが、現実にかなり残ってますよ。

OOやリファクタリング・ユニットテストの出自は、
少なくとも、後者はアカの助けがいるほど大層なものでもなく
現場から自然に生まれて当たり前、という感じがしますが、
ソースを持たないのでなんともいえません。
OOは、現場よりのアカ生まれ、って感じがします。感じがしてどうするだかあれですが。

>>86
そのスレの名前とかわかりませんか?
面白そうです。
93デフォルトの名無しさん:04/04/18 01:11
>>90
ハァ?
リファクタリングの話題にすらついて逝けず、
「リファクタリングを手段として使う、上位概念としての仕事」という明白な範囲限定を理解できない
キティガイ発見。
>>93
たった二行のレスで俺を外基地認定できる君に乾杯。
ローブロウすぎてついて行けんわ。
95デフォルトの名無しさん:04/04/18 01:27
>>91
なんか、いいかげんな思い込みを主張されてるだけらしいので、
反論するのも説得するのも、ただただ面倒です。

いい年こいて、駄法螺を書き込む事に熱中する大人が居るのは嘆かわしい事ですが、
そんな大人の掲示板に、嘘や虚勢に対する罪悪感すらお持ちでない子供が来ると、
とてもウザいです。皆、お互いの罪悪感をネチネチからかいながら、会話を楽しんでるのです。
あなたには、嘘・デタラメに対する罪悪感も、はたまたキラリと光る知性も、
全く感じられず、相手にしても疲れるだけです。

しばらく匿名掲示板に書き込むのはおやめになり、
もうちょっと勉強なり成長なりすることに専念されてはいかがでしょうか?


スレ名:
ム板:関数型言語2
情死す板:(OO関連キーワードか、「学術」をキーワードに探せ)

96デフォルトの名無しさん:04/04/18 01:29
>>92
なんか、いいかげんな思い込みを主張されてるだけらしいので、
反論するのも説得するのも、ただただ面倒です。

いい年こいて、駄法螺を書き込む事に熱中する大人が居るのは嘆かわしい事ですが、
そんな大人の掲示板に、嘘や虚勢に対する罪悪感すらお持ちでない子供が来ると、
とてもウザいです。皆、お互いの罪悪感をネチネチからかいながら、会話を楽しんでるのです。
あなたには、嘘・デタラメに対する罪悪感も、はたまたキラリと光る知性も、
全く感じられず、相手にしても疲れるだけです。

しばらく匿名掲示板に書き込むのはおやめになり、
もうちょっと勉強なり成長なりすることに専念されてはいかがでしょうか?


スレ名:
ム板:関数型言語2
情死す板:(OO関連キーワードか、「学術」をキーワードに探せ)
鸚鵡とかインコとか、
意味も判らずに、人の口真似する動物って居るやん、

あの類いを相手にしてる気分だ。
98デフォルトの名無しさん:04/04/18 01:34
おうむってなんて読むのでしょうか?
くだらない質問ですみません・・・
ケツ論:
ageて書くと、板専属の煽り粘着が来てスレを荒らす。
したがって、今後はsageで書く事にしよう。
                        
100デフォルトの名無しさん:04/04/18 20:18
いや〜しかし、
頭が未発達なのに粘着されると、
こっちまで同類と間違えられそうで、
コワヒなぁ〜
>>34
このままでいい という理屈が意味不明だな
つまり、100を超えるスレの中で、
「このままでいい」という単語以外理解できなかった訳ですねw
しかも、「理屈が意味不明」とコメントするのが精一杯、という
洞察力や想像力の欠落っぷり。

もうちょっと、わかりやすい言葉で、概念を整理してしゃべってごらん。
今のままでは、君の言葉を誰も本当に理解できないよ。
君がコミュニケーションだと思ってるものは、
言葉足らずな子供の誤解に基づく喧嘩でしかないよ。
ここはリファクタリングについて語るスレなのか?

1 :デフォルトの名無しさん :04/04/13 22:41
会社で見つけた糞コード。
自分で書いたけど、なんかあやふやなしっくりこないコード。
そんなコードを、リファクタリングします!

うpろだ
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
>>103
それを真面目にやると情報漏洩になるか、またはヤバイ部分を隠す手間が馬鹿にならなくなるので
だれもやりたがらないのでは?
アジャイルスレが閑古鳥が鳴いているので、ここで語ってもらってもいいんじゃないでしょうか。
>>103

>>1で、よりによって「会社で見つけた糞コード。」で「うpろだ」つう展開は、
普通それなりの覚悟と逃げ道ないと、できない。

むしろ、世の中の実際の「リファクタリング」は、
「他のソース参考に、新規ソース作成」ってな作業とか、
「古いシステムのミグレーション」ってな仕事の中に、
潜り込んでる。そして、それは、XPが勝手に制限してる制約の外側で慎重に行われている。
まぁ、XPとは予算も資源も桁違いな業務 (多い場合も少ない場合も含め)だからね。

最初の印象、及び、100レス経過後の現状を見て、
本スレは、現実のリファクタリング愛好家とは無関係のネタスレ、と判定しますた。
要するに、>>1は世間知らずなヒッキー。
どう見ても 1 は立て逃げだろ。
↑と、>>1がほざいておりますw
寧ろ、
Emacs上で動く定理証明系 BunBorg プロジェクト
(人手による証明の項書換の支援→リファクタリングと構成的プログラミングを結ぶ重要な仕事だ!) や、
はたまた DNAコンピューティングで有名なはぎゃー先生におでまし願って、
「世の中の全てのコードをリファクタリングする」ってなテーマで語ってもらってはどうよ?>>亞蛇居る愛好家の皆様
ていうか、このスレ自体のリファクタリングきぼんぬ。
>>109
じゃあまずユニットテスト作って(一休さんかよ)
>109
だからさ、それリストラクチャだって
1121:04/04/20 00:53
なんか、漏れがリファクタリングだと思っていた物が
「いわゆるリファクタリング」でしかなく、
また、それなら「テストケース付きでリファクタリーをうpしてもよかろーもん」って思ってたんだけど、
どっちかっていうとリファクタリング論議が盛んになっちゃって。

まあ、リファクタリング論議にも興味はあるのでそのまま続けるヨロシ。
113デフォルトの名無しさん:04/04/20 01:19
いやマジ、著作権に差し障りありの、産業廃棄物にせざるを得ないソースが複数、どっかにあったと思う(察しろ)。
問題は、著作権以外にもあって、
最大の問題は、1000レス/1スレッド程度のスレで議論できるような代物じゃないって事。
社内にSourceForgeサーバ立てて、バザールでござーる方式で処置しようともしたんだけど、
そんなもんに取り組む暇人、社会人には居ないよね、っつう事。
114デフォルトの名無しさん:04/04/20 01:24
あと、「いわゆるリファクタリング」の不純物は、
×「副作用」
ぢゃなくて
○「等価変換が必ずしも保証できない変換」
ってなニュアンスだったと思う。立命館のセンセのリファクタリング・ツールの説明では。
絶望的な産業廃棄物を、毎度、廃棄物っぷりに
ますます磨きをかけて納品してますが、何か?
わけわかめ。

某スレで漏れが産業廃棄物つったのは、
著作権の関係上、参照すらイャン!なコードの山が何故か手近に残ってて、
信義上、再利用することが不可能だから産業廃棄物つったんだけど。

産業廃棄物売って生計立ててらっしゃるとは、随分優雅なご身分ですね。
漏れの場合、売るコードより製造過程で捨てるコードの方が多いくらいだw
117デフォルトの名無しさん:04/04/20 22:24
ユニットテスト付きリファクタリングって、
自動検証機構付の式変換作業と言い換えると、なんだか面白そう。

けど、式変換におけるホロノミック基底、
   λ式におけるβ簡約みたいな、
確実に結論を導くための手法がないのが、気掛かりだ。
だから答えを見つける面白みがある、とも言える。

とはいえ、所詮、単なる式変換。
はぎゃ〜先生が「命題=型、証明=プログラミング」のコラムに書いてた構成的プログラミングの世界に比べ、
地道な機械的作業って感じもする。
んんん?!それって今なら、テスト主導開発 (Test Driven Development?)に相当するのか?
型 ≒ 型チェック ∈ 表明 または テスト てな意味で。

結局、本体プログラムの作成で、Eiffelの表明やら、Assertionやら、ユニットテストみたいなもんを有効活用するのが本来大切なことで、
リファクタリングつうのは後戯みたいなもんでしかないのかと。


そ〜いや、あのプロジェクト、
Test First でもなければ、逆Vで仕様書とテスト仕様書同時に作るつう習慣も守ってないけど、
どうやってテストする気だろう・・・(´Д`)

↑さて、上の文は、何回文意を翻しているでしょう? (わざとやったんだよんw)
自分の文章のリファクタリングから始めてくれ。
表面的なレスばっか。ほんとつまらんやっちゃなぁ〜
変な人をいじるのが楽しいスレだからねえ。
>>117って羞恥って感情なさそう。その上いじってもつまらなそう。
123デフォルトの名無しさん:04/04/21 07:59
あ、そう。
なんかつまんねぇ香具師ばっかだなw
さっさと市ね
124デフォルトの名無しさん:04/04/21 08:00
匿名掲示板で、「その発言は恥ずかしい」とか当てこすり始める香具師の頭はからっぽw
ユニットテスト付きリファクタリングって、
自動検証機構付の式変換作業と言い換えると、なんだか面白そう。
だけど、リファクタリングには、
   数式処理におけるホロノミック基底、
   λ式におけるβ簡約みたいな、
確実に解を導き出すための手法がないよね?
なんか、研究されてないのかな?
でも解の評価軸が複数存在するから、解の導き方も経験的に探っていくしかなさそうだ。

結局リファクタリングって、あらかじめ決まっている答えを導くのではなく、
答えを見つける過程に関する経験則とテクニックだから、興味深いんだよね。
127125:04/04/21 09:31
>>126
とはいえ、リファクタリングって単なる恒等変換。
はぎゃ〜先生が「命題=型、証明=プログラミング」のコラムに書いてたよーな
「構成的型論理」に基づく「構成的プログラミング」の世界に比べて、
地道な単純作業、機械的作業って感じがするよ!
128126:04/04/21 09:35
ん?構成的プログラミング? 構成的型論理?!
そんなの、みんな知らないYO!

あんたが言いたいことって、もしかして、
今流行りの、テスト主導開発 (Test Driven Development?)あたりに関係するのか?
型 ≒ 型チェック ∈ 表明 または テスト てな意味で?
129127:04/04/21 09:36
まぁ、そんなかんじ。

結局、本体プログラムの作成で重要かつ興味深いのは、
Eiffelの表明やら、Assertionやら、ユニットテストみたいなもんであって、
リファクタリングつうのは後戯みたいなもんでしかないのかと。



あ〜、しんど。
>>126
解を確実に導き出す戦略、ね。
で、解はなんでもありの最適化みたいな問題だから、
簡単に解をきめらんない、と。結局いろいろコード変えて、
全体のバランス調整してくしかない、と。

あらゆる人間の創造的仕事とは、実は非線形最適化問題の解決に他ならない(なんちて
132デフォルトの名無しさん:04/04/21 09:44
可読性は神への信仰の次に重要なのです。
>>131
リファクタリングのメリットを B
リファクタリングの作業単位を W
として、|B|/|W|を最大にしる!

てな問題で、
最急降下戦略かなんかとって、
dB/dWが最も大きな方向に突っ込む、と。

んで、リファクタリングが作業者の手に余る複雑怪奇な代物になって、
リファクタリング・デスマーチもしくは作業が発散する、と。

結局、人間が操作可能なリファクタリングだけ追っかけても、
最適解には決して到達しないんではないか、と。
>>132
猿には猿の可読性、
雉には雉の可読性がある。

おれは、猿や雉にとっての可読性、ってのは、あんま考えたくないんだw
135デフォルトの名無しさん:04/04/21 09:57
恒等変換ってアンタ……。
セルオートマトンとPentium4を一緒にするくらい滑稽な表現に聞こえるぞ?

機能が等価なのは、それがリファクタリングの必要条件なんだから当たり前でしょーが。
リファクタリングの第一目的は可読性の改善。表明やテストのような機能の改善は副産物なの。
可読性が計測不能だからって無視してくれるな学者殿。
136デフォルトの名無しさん:04/04/21 09:57
リファクタリングって何ですか?
とてもよさそうなものだと思うのですが。
137デフォルトの名無しさん:04/04/21 10:14
>>135
笑止。やってらんねぇなぁ〜。
だから、OO周りは頭の固い信仰者ばっかだwって愚痴りたくなるんだよ。

さっさと猿プログラミングでもすればぁ〜?
138ポストOO指向:04/04/21 10:18
このフレーズが、バカっぽくて笑える
>機能が等価なのは、それがリファクタリングの必要条件なんだから当たり前でしょーが。
>リファクタリングの第一目的は可読性の改善。表明やテストのような機能の改善は副産物なの。

機能を等価に保つためには、表明やテストが必須だから、
明示的にせよ暗黙的にせよ、表明とテストは、リファクタリングの基礎付けなんだよ。

可読姓の改善、なんつうのは、文系チックなまやかしにすぎず、
その本質は、簡約化なんだよ。

全く、オブジェクト指向患者っつうのは、脳みその血の巡りが悪いやっちゃなぁ〜。
あ、オブジェクト指向すらわからんなんつーのは、論外の方向で。
こっちのフレーズも、腹の皮がヨジレタw
>恒等変換ってアンタ……。
>セルオートマトンとPentium4を一緒にするくらい滑稽な表現に聞こえるぞ?

複雑性の例として、Pentium4挙げるとは、発想が貧困なやっちゃなw小学生か?
#将来は、「この業務処理は、非常に複雑な業務知識が必要なので、文書化は難しい」
#なんつって、暗黙の前提と矛盾だらけの仕様書と格闘する、業務SEにでもなるつもりか?

Pentium系CPUと言えば、複数のパイプラインを持つRISC的なCPUコアに、
ix86アーキテクチャ互換の命令デコーダを付けた、
エミュレーションCPUとして、あまりにも有名。
やってる事の本質は、ix86命令からRISC的コアのネイティブ処理への恒等変換。
結果として、処理機構が大幅にリファクタリングできた、つう事。
平日午前からこんなとこで訳若欄事言い出す>>135って、
オブジェクト指向信者どころか、普通のスキルすら怪しい板常駐煽りだろ。

そんな暇人相手にマジレスするあんた
カコ良過ぎ。
141デフォルトの名無しさん:04/04/21 10:50
>>139
リファクタリング患者は、
なんらかの高等戦略を採って、結果としてリファクタリングできるようなのは大嫌いなんだよ。

患者にできることって言えば、ドキュメントも読まずに(集中力がない)
まずコード片と格闘してコードを使い物にならなくして、
それから必死にデバッグして、元の機能をなんとか復元する、
それがリファクタリングだと、堅く信じてるんだよ〜(プ。

ある種の拷問で、まず穴を掘らせ、次に穴を埋めさせる、また穴を掘らせて、(略)
つう非生産的な反復単純作業をやらせるのがあるらすぃ。
それやられると、たいていの人は、希望を失い、健康を害するらすぃ。

見通しもなく、まずコードをいじくりまわしちまうお猿さんってのは、
自ら進んで拷問を受けてるようなもん。
哀れだけど同情に値しない。
pupupu
用語の誤り、誰も指摘しないのね。

ふつー、恒等変換て、無変換のことだろ。
リファクタリングが無変換じゃ、まるっきり話が通じねぇ。
もしかして、おまさんの逝ってるのは、
「等価な変換」じゃねぇ〜の?(プププ
143デフォルトの名無しさん:04/04/21 11:04
Re-factor-ing とは、基底変換ではないか、と言って見るテスト。
144デフォルトの名無しさん:04/04/21 12:33
基底変換つうより、
場の量子論や第二量子化における場、
を調整するイメージがあるな。

オブジェクト自身の定義よりも、
オブジェクトの間にある関係、相互作用こそが、調整対象ってな意味合いで。

すると、RDBでデータの関連を扱う(関係代数)つうのと、
連続性のある話になる。
結局、RDBとオブジェクト指向は、兄弟つうオチで。
145デフォルトの名無しさん:04/04/21 13:06
・・・ってな観点から、
Relational DBをObjectに無理にマッピングする(例:Oracle Business Class for Java(BC4J))んでなくて、
Relationalのより自然な表現形態でとしてのObjectってな観点から、
Relational DB と Object DBの融合を図るのはいかがでしょうか?>> O-R mappingマニアの皆様
Re-factor-ing
再因子化
漫才では、突っ込みにはつまんない一般常識、ヴォケには天性の才能が要求される。
同じことが、匿名掲示板にも当てはまる。例えば
ヴォケ  >>143-145
突っ込み >>146
どっちの方が、優れた洞察力が必要か、皆さんにはもうお判りだろう
ワカンネ
ネタがすべったときこそおまいら芸人の真価が問われるのでつよ。
シラネ
ゴミスレだな。
ソッスネ
彼女をリファクタリングできません。
シラネ
知ったか論理厨が暴れてるな。
リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
Rename Methodだって、立派なリファクタリングであって、どういう名前に変えるかは可読性で決まるんだよ。

知ったかヒッキー君の脳内「リファクタリング」ではどうだか知らないけどね。
156移動中の暇つぶし材料:04/04/22 02:00
うぜぇーよ、自称実践派。
前レス欲嫁ってんだ
157移動中の暇つぶし材料:04/04/22 02:06
可読性最優先のリファクタリング一派(Mrtin Fawlerがボス)、激しくイラネ。
大体、名称変更みたいな幼稚な例出すセンスが笑える。
基礎ができてないオブジェクト指向信者(自称最先端、実はそろそろ遅れ気味)って、
話がおもしろくねぇんだよ。
158移動中の暇つぶし材料:04/04/22 02:08
>リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。

も、もしかして、命名変更も手でやってるの?
>>157
 >>156は、また適当にデタラメ書いて煽って逃げたようですw
とりあえず、幼稚園児の漏れでも明確に解るのは、
>>156>>157は、>>155をまったく否定できておらず、ブザマにいきり立って吠えてるだけ、
ということだ。
あ、スレ番ずれてる
>>156
 >>155は、また適当にデタラメ書いて煽って逃げたようですw


162デフォルトの名無しさん:04/04/22 02:15
とりあえず、>>155>>160は、子供の喧嘩を始めたいらしいですw
> 158 :移動中の暇つぶし材料 :04/04/22 02:08
> >リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
> も、もしかして、命名変更も手でやってるの?

論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。
それとも、自作自演の失敗かな?(そして本人は成功したつもりなのが>>161。)
164デフォルトの名無しさん:04/04/22 02:36
>>155
> 知ったか論理厨が暴れてるな。

うぜぇーよ、自称実践派。前レス欲嫁ってんだ (>>156)


> リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。

表明やユニットテストは、リファクタリング前後の等価性を保証するための仕様記述と考えろ。


> Rename Methodだって、立派なリファクタリングであって、どういう名前に変えるかは可読性で決まるんだよ。

可読性最優先のリファクタリング一派(Mrtin Fawlerがボス)、激しくイラネ。
大体、名称変更みたいな幼稚な例出すセンスが笑える。
基礎ができてないオブジェクト指向信者(自称最先端、実はそろそろ遅れ気味)って、
話がおもしろくねぇんだよ。 (>>157)


> 知ったかヒッキー君の脳内「リファクタリング」ではどうだか知らないけどね。

>>156: 移動中の暇つぶし材料 (HN欲嫁)
うぜぇーよ、自称実践派。前レス欲嫁ってんだ (>>156)

とりあえず、>>155>>160は、子供の喧嘩を始めたいらしいですw (>>162)


>>161
どうでもいいけど、スレ番じゃなくてレス番だよ
166デフォルトの名無しさん:04/04/22 02:37

>>157
> 論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。

正直、いみふめな寝言は寝て掻け、って感じw
とりあえず、意味不明な>>157の相手をしちゃる、と:

>>157が言うには、論理は使えない(?)とかいう話なんで、

・今後>>157は条件式もbooleanも使うのやめて、
 全部文字列比較と数値比較で処理を掻くこと。

・仕様と実装、テスト結果の一貫性を論理的に示すと、
 >>157のポリシーに反する事になる。
 従って、今後>>157は自分の掻いたプログラムの正当性を主張する
 事ができなくなる。

・そもそも、>>157の議論には、一切の論理性が保証されないので、
 以降 >>157はスルーの方向でw
 
167166:04/04/22 02:40
あ、↑は >>157ぢゃなくて、>>163の間違い。

>>163
> 論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。

正直、いみふめな寝言は寝て掻け、って感じw
とりあえず、意味不明な>>163の相手をしちゃる、と:

>>163が言うには、論理は使えない(?)とかいう話なんで、

・今後>>163は条件式もbooleanも使うのやめて、
 全部文字列比較と数値比較で処理を掻くことw

・仕様と実装、テスト結果の一貫性を論理的に示すと、
 >>163のポリシーに反する事になる。
 従って、今後>>163は自分の掻いたプログラムの正当性を主張する
 事ができなくなるw
 (やっぱ、ポリシーは大切だしねw)

・そもそも、>>163の議論には、一切の論理性が保証されないので、
 以降 >>163はスルーの方向でw
 

自らわざわざ、
リアルでの論理の実践はとんと通じないことを
そこまで徹底的に実証しなくてもよいのに。。。

あと、「スレ番」間違いすぎだよ、論理を使えないけど論理好きの君。
169デフォルトの名無しさん:04/04/22 02:45
(´-`).。oO(なんで「論理は実践で使えない」だろう?)
(´-`).。oO(なんで「論理は実践で使えない」と妄想する人がリファクタリングスレに粘着するんだろう?)
(´-`).。oO(なんで>>163は「ウソツキのクレタ人」なんだろう?)
このスレの混乱振りをリファクタリファクタ。
171デフォルトの名無しさん:04/04/22 02:46
(´-`).。oO(なんで>>168は中身のない主張を必死にするんだろう?小学生?)
172デフォルトの名無しさん:04/04/22 02:49
小学生が、なんでこんな深夜に2ちゃんをうろついてるんだろうね。
しかも主張内容がハチャメチャ。論理は実践では使えない、つう>>163は、
ご自身の主張を、「論理を一切使わずに」どうやって主張するつもりなんだろう・・・?!
なんか、かわいそうになってきた
きみはまずこくごをおべんきょうしようね。あと、どうとくもね。
174デフォルトの名無しさん:04/04/22 02:54
(´-`).。oO(>>163が言う論理って、どの論理なんだろう?俺様論理?古典論理?)
(´-`).。oO(>>163は、どんな経験に基づいて、論理は実践では使えない、と結論したんだろう?)
175デフォルトの名無しさん:04/04/22 02:57
(´-`).。oO(論理を否定するプログラマ?ってどんな言語を使ってどんなコードを書くんだろう?)
(´-`).。oO( 例示によるプログラミングレス・プログラムでも使うのかな?)
176デフォルトの名無しさん:04/04/22 02:58
論理を否定するニュータイプ・プログラマ、キタ━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━!!!!
177デフォルトの名無しさん:04/04/22 03:00




論理を一切使わずに、リファクタリングを実践する、超人プログラマが発生したスレに
記念カキコ
178デフォルトの名無しさん:04/04/22 03:00
記念真紀子
179デフォルトの名無しさん:04/04/22 03:04
超人プログラマの論理否定論☆記念かきこ
「論理は実践では使えない」なんてだれもいっていないよ。
こくごのおべんきょうをさぼっちゃだめだよ。あと、どうとくもね。
それから、おいしゃさんにいって、わいじーのいー(えーじーがたかいけど)といって
そうだんにのってもらおうね。
(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)
      れすしてあげたから、おとなしくしようね
(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)
182新興宗教「リアルでの論理の実践はとんと通じない」教,誕生の瞬間:04/04/22 03:09
163: デフォルトの名無しさん 04/04/22 02:17
> 158 :移動中の暇つぶし材料 :04/04/22 02:08
> >リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
> も、もしかして、命名変更も手でやってるの?

論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。
それとも、自作自演の失敗かな?(そして本人は成功したつもりなのが>>161。)


168: デフォルトの名無しさん 04/04/22 02:42
自らわざわざ、
リアルでの論理の実践はとんと通じないことを
そこまで徹底的に実証しなくてもよいのに。。。

あと、「スレ番」間違いすぎだよ、論理を使えないけど論理好きの君。
183新興宗教「リアルでの論理の実践はとんと通じない」教,誕生の瞬間:04/04/22 03:17
いや〜、新興宗教って凄いですね、
深夜に、いたいけな小学生使って
新興宗教「リアルでの論理の実践はとんと通じない」教
の普及活動してるとは。。。
・・・児童福祉法違反で摘発されないのかぁ〜?w

で、信仰内容が随分難解だね、
「リアルでの論理の実践はとんと通じない」?
なにこれ?日本語なの?

分かち書きすると
「リアル での
論理の 実践
 はとん と 通
じない」??
5・7・5・3か。自由形式の俳句かな?

「リアル での 論理の実践派 豚と通じない」??
「リアル での 論理の実践 鳩 んと 通じない」??
宗教でおかしくなっちゃった人の発言は、難解だな。
184デフォルトの名無しさん:04/04/22 03:18









(´-`).。oO(>>163が言う論理って、どの論理なんだろう?俺様論理?古典論理?)
(´-`).。oO(>>163は、どんな経験に基づいて、論理は実践では使えない、と結論したんだろう?)
こくごのおべんきょうをおしえておげるね。
・((省略された)主語「きみは」)論理が大層お好きな 述語1「ようだ」が、
  リアルでの論理の実践はとんと通じない 述語2「ようだ」。
・論理を 体言修飾1「使えないけど」 体言修飾2「論理好きの」 体言「君」。
186デフォルトの名無しさん:04/04/22 03:23
いや〜、新興宗教って凄いですね、
深夜に、いたいけな小学生使って
新興宗教「リアルでの論理の実践はとんと通じない」教
の普及活動してるとは。。。
・・・児童福祉法違反で摘発されないのかぁ〜?w

で、信仰内容が随分難解だね、
「リアルでの論理の実践はとんと通じない」?
なにこれ?日本語なの?

分かち書きすると
「リアル での
論理の 実践
 はとん と 通
じない」??
5・7・5・3か。自由形式の俳句かな?

「リアル での 論理の実践派 豚と通じない」??
「リアル での 論理の実践 鳩 んと 通じない」??
宗教でおかしくなっちゃった人の発言は、難解だな。

あと、じしょのひきかたもおぼえようね。
http://dictionary.goo.ne.jp/search.php?MT=%A4%C8%A4%F3%A4%C8&kind=jn
188デフォルトの名無しさん:04/04/22 03:24
論理を一切使わずに、リファクタリングを実践する、超人プログラマが発生したスレに
記念カキコ
189デフォルトの名無しさん:04/04/22 03:26
(´-`).。oO(なんで「論理は実践で使えない」だろう?)
(´-`).。oO(なんで「論理は実践で使えない」と妄想する人がリファクタリングスレに粘着するんだろう?)
(´-`).。oO(なんで>>163は「ウソツキのクレタ人」なんだろう?)
(´-`).。oO(>>163が言う論理って、どの論理なんだろう?俺様論理?古典論理?)
(´-`).。oO(>>163は、どんな経験に基づいて、論理は実践では使えない、と結論したんだろう?)
(´-`).。oO(論理を否定するプログラマ?ってどんな言語を使ってどんなコードを書くんだろう?)
(´-`).。oO( 例示によるプログラミングレス・プログラムでも使うのかな?)
まちがいや、しらないことは、はずかしいことじゃないからね。きにしなくていいよ。
でも、ひとにめいわくをかけることは、やっちゃだめだよ。
              ファサァ
         ∧_∧   
         ( ・∀・)       ))
         /つ( ̄`ヽO_ノ⌒ヽ
        ノ   )        \ ))
       (__丿\ヽ ::    ノ:::: )
           丿        ,:'  ))
        (( (___,,.;:-−''"´``'‐'


            ∧_∧
            ( ・∀・ ) < おやすみ〜
            /  _ノ⌒⌒⌒`〜、_
       ε( ̄⊂人 //⌒   ノ  ヽ)  
       ⊂ニニニニニニニニニニニニニニ⊃
技術的な内容が皆無だな。
反駁するためだけのレスしかない。
193デフォルトの名無しさん:04/04/22 08:02
>>192
 >>100-145 嫁。
 昨晩は基地が降臨して荒れたけどな
リファックタリング
>>193
ざっと見たけど、この電波基地は50あたりから延々と粘着とジエンを続けてる模様。
夕べは、突っ込みにさくっと致命傷を食らって断末魔の叫びをあげたようだが、さすがに恥ずかしくてこのスレにはもう来れまい。
今なら、まだファウラーが日本にいるはずだ。
直接会って話つけたらどうだ?>粘着電波
197デフォルトの名無しさん:04/04/22 23:12
粘着デムパ >>50 大人気だな(藁
デムパ基地のリアルの絶望的な悲惨さは目に見えてる。
最期にネットでこれだけ目立てて本望じゃろうて (-人-)チーん
1991:04/04/23 08:26
すみません、>>1で書いたようなことを実現するためには、
リストラクチュアスレを立てた方がいいんでしょうか?
>>199
仮に別スレにしてもだれもupしないと思うな。理由は>>104とか>>105とか。
>>199-200
「鉛筆で書かれた極秘文書をTexで清書するから晒して」
って言ってるようなもんだからね。
おまいらの宿題リファクタリングさせてください

の方がよかったな
203デフォルトの名無しさん:04/04/24 12:01
結局リファクタリングって、
場の量子論や第二量子化における場、
を調整するイメージがあるな。

オブジェクト自身の定義よりも、
オブジェクトの間にある関係、相互作用こそが、調整対象ってな意味合いで。

すると、RDBでデータの関連を扱う(関係代数)つうのと、
連続性のある話になる。
結局、RDBとオブジェクト指向は、兄弟つうビジョンでw
キ(ry
関係、相互作用こそが、調整対象であるという仮説の妥当性はさておき、
そこから、それがRDB(関係代数)と連続的な話であるという結論は
飛躍が過ぎませんか?
ごめん、量子化ってわかんないや。
喩えるなら、もうちょっと一般社会を想定した言葉で言ってくれる?
206デフォルトの名無しさん:04/04/24 16:19
>>204-205
え、素粒子物理〜メゾスコピック物理の経験者向けな話だから、
今はきみらは理解しなくていいんだよ。

俺の知ってる範囲では、
物性研出身者で、そんなような類いの思考をしてる人が居たな。



>>204
そっちは、さほど飛躍してない方の話だよw
物理屋の洞察って、だいたいそんな感じの飛躍が話が多いんだ。
複数の対象や理論の間に、直観的に、なんらかの関連がつけられて、
その関連付けの詳細は、単なる退屈な事務作業だから、
後で数学屋や工学屋に決着付けてもらうことにして注意深く放置。
で、自分は、本当に解決すべきコアな問題に専念、てな感じ。
・・・そーゆーことやると、工学屋は凄く嫌な顔するけどね〜飛躍し過ぎって。
   でも、仕事の分担が違うんだから、しょうがない。
207デフォルトの名無しさん:04/04/24 16:23
リファクタリングの例として、
変数の名前変更上げちまうような幼稚園生にナニを言っても、
馬の耳に念仏、
結局デムパは、自殺モンの大恥晒しといて、臆面もなく現れては粘着&ジエンを繰り返し、
末永く電波を発信し続けましたとさ。ちゃんちゃん。
209デフォルトの名無しさん:04/04/24 20:14
↑デムパ発見
大自爆コイても余裕で再乱入、しかも即自演。こいつぁ本物だわ。
211デフォルトの名無しさん:04/04/24 22:57
>>210 さっさと病院戻れ。自主的に戻らないようなら、強制入院させるぞ。


いゃ〜、春だねぇ。なんか、ソニー板で見たことある悲惨な気違いが、
春の陽気につられて、地べたからはいずり出してきちまったよ。
彼を見分けるのは簡単!
1. キーワード「悲惨」「リアル生活」「気違い」「自爆」
2. 行動   平日昼間から、2ちゃん三昧の日々。
       職場から書いてるとは到底思えない。
       自我が崩壊してる人物に特徴的な酔っ払いの喧嘩みたいな書き込みが特徴。
3. 振る舞い 何の脈絡もなく、相手に突然絡みだし、何週間も小汚い罵声を浴びせ続ける
>>211
 >210みたいな「悲惨な気違いデムパ」アンチパターンを、
 リファクタリングで改善しる!
213デフォルトの名無しさん:04/04/24 23:00
>>212
 措置入院が適切だと思われ。処置不能。
なんだよこのスレ・・・
215デフォルトの名無しさん:04/04/24 23:08
デムパをモデリングしてリファクタリングするのが、火急の課題になっちまったスレですが、伺か?

それもこれもみんな、引きこもりで非常識なスレ立てた >>1 の責任か、と。
>>212
マジレスすると、リファクタではなくリストラが必要。
振る舞い自体がバグなので、211=212=213=「悲惨」な「リアル生活」の「気違い」で「自爆」したモノの削除が必須かと。
217デフォルトの名無しさん:04/04/24 23:27
>>216って、リファクタリングの話題も振れない気違いの癖に、
なんでこのスレに粘着してるのか、それが謎。
「リストラ」も彼のトラウマなんだろうな。。。悲惨な人だ。

って事で、俺はワインなど嗜みながら、優雅にキティちゃんをリファクタリング中。。。

そーいや、キティちゃんの版権所有元の業務システムやってる会社が、
求人募集してたけどw、キティ繋がりで >>216、応募してはいかが?
最低限J2EE技術は必要だけど、ヲーターフォールでダラダラ仕事してるみたいだから、
あんたの能力に最適かもよw
しょっちゅうagaってると思ったら、しょーもねー糞スレだな。
sageれ。2度とageんな。
219デフォルトの名無しさん:04/04/24 23:42
誰も気にしねぇーよ、この程度の煽り。
それをいちいち気にしてる >>218 は、間違いなく >>216の同類 (つか本人
220デフォルトの名無しさん:04/04/24 23:44
リストラ対象者 >>216、どこいっちまったんだろうなw

身元確認のできるメールアドレス書いたら、紹介状送ってやるよ。
それで、おまえの悲惨な失業生活もジ・エンドな訳だがw
なんでwつけて必死なんだよ。
リファクタリングについて語らねぇなら うぜぇからsageろボケ
222デフォルトの名無しさん:04/04/25 00:14
いや、だから、>216がリファクタリング三昧の生活を送れるように、
再就職先を紹介しようとしているわけだが。

それもこれも、このスレのガン=>>216をスレから排除するための、準備作業なんだがゲラゲラ
>>214
2ch 初心者な大学生が研究室で得た知識をぬるく吐きつつ煽ってるスレ。
224デフォルトの名無しさん:04/04/25 00:21
>>216って、例のネットワーク系盗作鬼畜作家のシモベやってた、有名あめざーに口調が似ているね。
ちなみに、彼のご主人様は、家族を精神的にいたぶって自殺に追い込むのが趣味、とか
225デフォルトの名無しさん:04/04/25 00:22
ああ、あの、有名なノンフィクション・ライターと名前がそっくりな人、ねw
>>225
2ch初心者といわれて、雨増ネタかよ。(藁
wやめれ→ゲラゲラ の小学生的思考には笑わせてもらったから、ゲラゲラやめんなよ。
227224:04/04/25 00:31
そうそ、それそれ。

ちなみに俺は十数年前、自殺者/事故死者が多発する某所に、
何も知らない一般人装って潜入してた事もあるんで、それ系への免疫はばっちし持ってる。
あそこは悲惨な現場だったな〜、名誉も地位もある人が、バタバタ死んでく不可思議。
監督官庁は、なんか気付いてた筈だけどw たしか、最近それ関係のニュースネタが出てたっけ。

例のノンフィクション・ライターも、社会正義派を装うばっかじゃなくて、
そーゆー人間のカルマが起こす悲惨な社会現象を扱えばいいのに、ねぇ。

228デフォルトの名無しさん:04/04/25 00:39
>>216

はやく、メールアドレス知らせろよ。
おまえが社会復帰する最後のチャンスかもしれんゾw
224=225=227=228、こいつは一人でなにやってんの?
     ,r;;;;ミミミミミミヽ,,_
    ,i':r"    + `ミ;;,
    彡        ミ;;;i
    彡 ,,,,,、 ,,,,、、 ミ;;;!
     ,ゞi" ̄ フ‐! ̄~~|-ゞ,
    ヾi `ー‐'、 ,ゝ--、' 〉;r'  
    `,|  / "ii" ヽ  |ノ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     't ←―→ )/イ   <  ミサイルが飛んできたって何だって 
       ヽ、  _,/ λ、  \ このスレは非戦闘地域です!!
    _,,ノ|、  ̄//// \、  \_____________
_,,..r''''"   | \`'/  /    ̄`''ー
      |  /\  /          
231デフォルトの名無しさん:04/04/25 02:46
> 「悲惨」な「リアル生活」の「気違い」で「自爆」したモノ

なんなんだろう。
232デフォルトの名無しさん:04/04/25 02:51
>>216は、デムパ。
>>231は、この期に及んで、未だに傍観者装ってリファクタリングの話を振れない無能者。
どっちも逝ってよし。

今日はテレビの方がおもろいや。
このスレで、リファクタリングのネタが振られたことがあっただろうか。
234デフォルトの名無しさん:04/04/25 11:40
>196

ファウラーは,信頼できる人なのだろうかと疑ってしまう今日この頃.

うちの会社はOOの教育事業をいくらかしているが,「かれのblogの翻訳は
読まないように」「引用しないように」と御ふれが出ている(w

感覚的な意訳をしているなと思う箇所は間違っている場合が多い.
あの内容とあの翻訳を必要とする人のことを考えると
間違いがあってはならないと思うのだが・・・.

誤訳はしかたなくそのためレビューが大切になるわけだが,
翻訳している人は,日記の中で自分のことは棚に上げ
他の翻訳本の著者をバカ扱いしたり,
感覚的に幼稚な批判や批評が多く,
あれではまともな人は相手をしなくなり,
まともなレビューも行われないと・・・・.

ファウラーを身にまとうことで強くなったと勘違いをしてあのような物言いに
なってしまう気持ちもわかるのだが,
この業界,皮肉屋や貶し屋が多いことが仕事を楽しめなくしてしまっている
一面があると思われ,ファウラーの思いがどうであれ,じつにむなしい.
>>234
レスがよれてるよ。支離滅裂。

> あれではまともな人は相手をしなくなり,
ミミが痛いっす。
236
春休みってまだ終わってなかったの?
GWはじまりますた
いやはやGWだな
240デフォルトの名無しさん:04/04/25 19:05
ふぁうらーって、なんで偉いんだっけ?
オブジェクト嗜好を斜め上から眺めてる俺には、
マニヤの皆様の感覚がよーわからん。

もしかして、XP人気と「難解」アナパタのお陰で、教祖になっちまったの?
241デフォルトの名無しさん:04/04/25 19:45
単に『リファクタリング』の著者だからだろ。
242デフォルトの名無しさん:04/04/25 20:10
漏れのリファクタリングの精神的なお師匠さんは、やっぱはぎゃ〜先生の7びっつコラム、のような気がする
>>234
どちらのオフィスの方でしょうか?
念のため、お聞かせください。

なお、あなたのおっしゃること、
わたしはよく知らないのですが、非常に興味があります。
8月のOOシンポジウム、とりあえず出席しますんで、そこで
詳しいお話を伺う機会をいただけましたら、幸いです。
かしこ
bliki_jaのひと?♀だったの?ほえぇぇ。。。
逃げんなよ>234
245デフォルトの名無しさん:04/04/25 23:14
彼女をリファクタリングしたい
>>244
つーか、ここに書いている時点で。
247デフォルトの名無しさん:04/04/26 14:49
ここってダサイコードを美しく書き直すスレじゃないの?

用語ばかり詳しい連中が自己顕示欲を満たすだけのスレになっちゃってるのが残念。
なんでそう教条的にしか物事を捉えられないのだろう。
坊やだからさ。
249デフォルトの名無しさん:04/04/26 21:24
>>247 それは、アナタの思い違い。アナタがどれ位の深さで何年仕事してきたのか知らないが、単にアナタの勉強不足を人のせいにされても困るにゃん
>>247
だれもコードをupしないのでこうなりました。
現実的に考えれば、業務で書いてるコードを公開しても許される人間は限られるので
だれもupしないだろうな。ありえそうなのは、ソース公開しているフリーソフトぐらいか。
そんなに1のお題に固執するなら自分でupするよろし。

>>249
247は1のお題とスレの現状のギャップを言っているだけ。
表現があのとおりなのはリファクタリングの議論している奴らを貶めたいだけで
勉強不足かどうかは関係ないんじゃないか?
そのまえに、OOってなんでみんな伏字にしているんだろうと疑問に持った。

リファクタリングのスレじゃないの?
VB4で作ったアプリ(今でも現役)をVB.NETにリファクタリングしてくれる人を
募集中です。9期開発で(1期1年、年4回リリース)もう、ボロボロなのに
まだVB4で追加・改善するなんてイヤーーーーーーーーっ
2521:04/05/30 14:33
>>251
多分それはリファクタリングじゃなくてリストラクチュアリングだと思うけど、
でも、コードを晒しなさい。漏れがなんとかしてあげたいのです。
未熟だけど。
C++とJavaとPerl4しか触った事無いけど。
がんがります。あなたの為なら。
>>251 普通は移植というよね、ソレ。ま、職務規程に反しない程度にガンガレ。
>>251
VB.NETも、将来VB4と同じ道を歩むかもしれないぞ?
せっかくの.NETなんだから、他の言語にしたら?
>>254
そんなことはない、VB.NETも捨てたものじゃないぞ。まあこれでも読んで考え直してくれ。
ttp://www.atmarkit.co.jp/fdotnet/vbcheer/index/index.html
ttp://pc5.2ch.net/test/read.cgi/prog/1084413094
VBは自分でライブラリ作って溜め込んでいく発想ができない言語。
いますぐ使うのやめたほうがいいよ。
たしかにつぶしが利かないねえ。
リストも扱えないし。
まあ使わないにこしたことないな。
>>255
その記事書いた奴キモイな。
関係ないがVBScriptとVBって構文違うのな。
WSH書いててアホらしくなった。
M$なんて信じるな、あふぉ。
つーか、VB4からVB.NETで移植という工程が発生する時点で
VB=クソ言語だというのがわからないのか。
ま、VB厨にはわからないんだろうな。
納得。
2611:04/05/31 02:20
>>258
その記事の「VBがC#やJavaより冴えている1つの理由」に
「switchのcase節ごとのbreak記述が要らない」旨が記述されていました。
きっとそのくらいしか有利な事が無いんだろうと思った。

きっと、VB厨を装ってVBを貶めようとしてんだと思うよ。
>まだVB4で追加・改善する
別に問題ナカロ?
こぼらもいまだに残ってるし
リファクタリングやりてーけど、こんな書き方誰も
してないからってやらせてもらえねーよ。
糞コード書いて怒られるのは納得だが、糞コード
書かないから怒られるっていうのはたまらん。
>こんな書き方誰もしてないから

うpしてみたら?
2651:04/07/17 08:37
保守野鉄朗
2661:04/08/01 09:24
kept alive
267デフォルトの名無しさん:04/09/04 21:50
C++でもポインタを駆使したプログラムはリファクタリングの対象外。
2681:04/09/05 22:39
>>267
なんで?
他の種類のコードと同じで、テスト要件がしっかりしてれば、
全然平気でリファクタリングできそうだけど。
>267 はヘボ
>>267
リファクタリングの観点からすれば大域変数を扱うのと大差無いと思うが。
271デフォルトの名無しさん:04/09/11 05:51:12
>>267はピアソンの「リファクタリング−プログラミングの体質改善テクニック」
つまり和訳本のP385〜から書いてある事だぞ。

>>267がヘボって事は、原著 Refactoring:Improving The Design of Existing Code
の著者がヘボって言ってるのと同じだな。>>268-270こそヘボ。
272デフォルトの名無しさん:04/09/11 14:25:55
>>271
> >>267がヘボって事は、原著 Refactoring:Improving The Design of Existing Code
> の著者がヘボって言ってるのと同じだな。
これから
> >>268-270こそヘボ。
これがでてくるのはなぜだ?
273デフォルトの名無しさん:04/09/11 19:06:32
>>272
頭悪いな。説明する気も起きんよ。
274デフォルトの名無しさん:04/09/11 19:22:53
>>273
おまえの顔をリファクタリングしてやろう
275デフォルトの名無しさん:04/09/11 22:31:35
外部インターフェイスは変えないのがリファクタリングです。
276デフォルトの名無しさん:04/09/12 10:14:54
>>273は引き篭もりなので、顔は外部インターフェイスではありません。
277デフォルトの名無しさん:04/09/12 11:05:00
>>276
クックックッお前も相当の粘着だな。これだからヘボは困る。
278デフォルトの名無しさん:04/09/12 11:12:41
>>272の頭の中では
(A->B)->(not A->not B)
という論理が成り立ちます。
279デフォルトの名無しさん:04/09/12 11:21:02
違うよ単なる対偶だよ。アホがもう一人増えたか。
280デフォルトの名無しさん:04/09/12 12:19:58
>>277
残念、このスレ初参加です。あなたの外部インターフェイスは2chのみですか?
281デフォルトの名無しさん:04/09/12 12:36:57
>>280
初参加で引き篭もりってあーた。。。超能力でもあるんですか?(;´Д`)
もしかしてあれ?部屋の中で一人でいると勝手に宇宙人の声が頭の中に
入って来たりしませんか?ププ
282デフォルトの名無しさん:04/09/12 12:41:58
>>281
もういいよ…もういいんだ 君は十分がんばった
2831:04/09/12 14:41:39
>>271
俺は「いかにテスト要件がしっかりしていても、
ポインタを駆使したコードがリファクタリング対象となり得ない」
理由を知りたい。
284デフォルトの名無しさん:04/09/12 18:35:30
>>283
【いかにテスト要件がしっかりしていても】とは君が>>267の発言とは別に
勝手に付けたものだろ。

君が勝手に脳内補完したんだから、後は自分で考えろ。
285デフォルトの名無しさん:04/09/12 19:26:57
>>284
>>271>>268にレスしているよ。
286デフォルトの名無しさん:04/09/12 19:37:52
A->B
ならば
!B->!A
287デフォルトの名無しさん:04/09/12 19:40:29
>>285
>>267=>>271って保証はどこにもないわけだが。
288デフォルトの名無しさん:04/09/12 19:50:53
>>287
その通りだが、それがどうかしたのか?
289デフォルトの名無しさん:04/09/12 19:53:52
>>288
頭悪いな。>>283の質問の理由がわからないっていう事だよ。
それと>>285の反証の理由と証拠もな。
290デフォルトの名無しさん:04/09/12 20:08:24
>>290
救えねーな ププ
291デフォルトの名無しさん:04/09/12 20:15:29
>>290
「教えない」じゃなくて「反証できません」だろ。言葉は正しく使えよカス。
292デフォルトの名無しさん:04/09/12 20:22:33
あ、悪い。>>290は池沼だった。以降放置の方向で。
293デフォルトの名無しさん:04/09/12 20:38:33
>>291=292
なにテンパってんの?
いっぱいいっぱいで見てらんない。
294デフォルトの名無しさん:04/09/12 20:40:01
>>288
>頭悪いな。>283の質問の理由がわからないっていう事だよ。

>>268に対して>271は否定的な意見を言っているだろ?
だから「なぜそう考えるのか」を>283では訊いているのだと俺は思った。

>それと>285の反証の理由と証拠もな。

>>271は>268の意見を否定しているように読める。
その理由を>283で聞くのはもっともだが、それに対して>284は
>君が勝手に脳内補完したんだから、
と言った。そこで俺は、>284は「>271が>268の意見を否定している」
という事実を見逃していると考えた。それで指摘したんだ。

つまり、>267は単なる議論のきっかけで、>268と>271の間で、
議論が行われていると俺は解釈した。
(>>が多すぎるといわれたので一部削った。)
295デフォルトの名無しさん:04/09/12 20:43:57
>>271の議論は明らかに詭弁だろ。
これを対偶とか言う奴は論理の初歩を学んだ方がいい。
296デフォルトの名無しさん:04/09/12 20:54:21
>>294
だから俺は>>267でも>>271でもないっつーに。なにカッカしてんだよ。(藁
本当の理由は>>267さんなり>>271さんに聞いてくれよ。他人の尻ぬぐいまで
押しつけられちゃたまらんよ正直。

それからさ、【いかにテスト要件がしっかりしていても】は>>271の発言に対しても
君の脳内補完だぜ。よくやり取りを見ろよ。>>283で初めて出てきている要件だ。
それに対する君の詭弁は言葉の綾というか、君の言葉遊びのように見える。

>>295
>>271がヘボだという理由を明確にしてから議論してくれないかね?一連の流れ
を見ていると、その点に関する考察がすっぽり抜けている。
297デフォルトの名無しさん:04/09/12 20:56:11
おっと間違った。酒飲んでいるからな。
×>>271がヘボ
>>267がヘボ

>>267がヘボという理由は多分、【いかにテスト要件がしっかりしていても】
を勝手に脳内補完して言っているだけだろう。>>267自体は別にヘボとも
思えない。
298デフォルトの名無しさん:04/09/13 16:42:26
マーチンは、
ポインタや参照オブジェクトを内包したクラスなんかは
エイリアシングとかの問題が厄介で、外部仕様だけテストしても
だめな場合がある。だからリファクタリングするのは厄介、といってる。

ポインタを駆使していたら対象外とはいってない。

実行コードやオブジェクトのレイアウトに依存したコード、
たとえばvtblの位置や、ポインタ演算で強引にメンバやメンバ関数を特定してる
ようなコードは、継承関係が変わると動かなくなる可能性が高いんで、
リファクタリングするのは危険だ、といってるだけ。

その辺を注意してやる分には問題ないだろ。

そこまで読めないやつがヘ(ry
299デフォルトの名無しさん:04/09/13 18:41:09
>>298
当たり前の事を偉そうに書くなヴォケ。
3001:04/09/13 21:10:11
>>298
それって「テスト要件をだすことが出来ない(困難である)」、ってだけなんじゃね?

「vtblの位置や、ポインタ演算で強引にメンバやメンバ関数を特定してるようなコード」
であっても、そのことがきちんとテスト要件にあげてあれば、
普通にリファクタリングの対象となりそうな気がする。

つまりvtblの位置が変わらないように注意しながらコードの書き直しを行うのであり、
同じメンバを呼び出せるようにポインタ演算を行うんだろ。



あるいは、vtblの位置とかがテスト要件になく、単に「xxxxのメンバにアクセスする」
とだけ記述してある場合、それはvtblの位置が変わったって、そのメンバにアクセスできさえすればいいし、
そのようにリファクタリングする。
301デフォルトの名無しさん:04/09/14 23:43:24
だれか俺のチソコを外部インターフェースに格上げしてください。
302デフォルトの名無しさん:04/09/15 20:21:06
>>301
protected なわけか、皮に
303デフォルトの名無しさん:04/09/16 21:51:06
遺伝で息子も継承するわけね。皮。
304デフォルトの名無しさん:04/10/05 22:46:47
やっつけ仕事で作ったような保守性の低いソースに苦しんでいます。
このような場合リファクタリングすればよいですか?
305デフォルトの名無しさん:04/10/05 23:11:43
やっつけ仕事で一から作り直せ
テストは旧コードそのまんま。

新旧比較するテストコード書いて、UT&リファクタリング開始
3061:04/10/13 07:02:16
>>304
うpしる!

って、もうその仕事は終わってるか。
307デフォルトの名無しさん:04/11/22 14:13:52
このスレは脂肪かい?
308デフォルトの名無しさん:04/11/27 22:03:34
何かネタない?
309デフォルトの名無しさん:04/11/29 01:57:03
#include<stdio.h>

int main(void){
 unsigned short i;
 double tmp[10];
 double diff;

 for(i=0;i<10;i++){
  scanf("%lf",tmp+i);
  if(i>0){
   diff=*(tmp+i)-*(tmp+i-1);
   printf("%lf",diff);
   if(diff>0){
    printf("+\n");
   }
   else if(diff<0){
    printf("-\n");
   }
   else {
    printf(" \n");
   }
  }
 }
 return(0);
}
3101:05/02/09 07:24:21
#include <stdio.h>

static int sign( double d ) {
    return d < 0 ? -1 : 0 < d ? 1 : 0;
}

int main(void){
    static char sign_char[3] = { '-', ' ', '+' };
    unsigned short i;
    double current, prev, diff;

    scanf( "%lf", &prev );
    for( i = 0; i < 9; i++ ) {
        scanf( "%lf", ¤t );
        diff = current - prev;        printf( "%lf%c\n", diff, ar[ sign(diff) + 1 ] );
        prev = current;
    }
    return 0;
}
311デフォルトの名無しさん:05/02/09 07:34:35
static char sign( double d ) でいいんじゃないの。
312デフォルトの名無しさん:05/02/10 08:58:56
それでもいいけど、文字でなく数値であるものを敢えて文字型にするのはなんで?
313デフォルトの名無しさん:05/02/11 06:43:11
>>312
return d < 0 ? ' ' : 0 < d ? '+' : ' ';
3141/312:05/02/11 09:38:11
>>313
そっか。そっちの方がいいかもね
315デフォルトの名無しさん:2005/08/08(月) 23:26:33
hosyu
316デフォルトの名無しさん:2005/08/08(月) 23:33:54
 scanf("%lf",tmp+0);
 for(i=1;i<10;i++){
  scanf("%lf",tmp+i);
  diff=*(tmp+i)-*(tmp+i-1);
  printf("%lf%c\n",diff,(diff>0)?'+':((diff<0)?'-':' '));
 }


>310
for()がダメぢゃね?
317名無しさん@そうだ選挙に行こう:2005/09/11(日) 09:40:04
新人のコードは重大な問題を引き起こすようなもの以外は、
少しぐらい汚くても多めにみてやれ。
相手のモチベーション下がっちまう。
318デフォルトの名無しさん:2005/09/18(日) 23:10:26
ループ回数が変わっても重大な問題ではないと?age
319デフォルトの名無しさん:2005/09/19(月) 09:49:56
>316
いまどき配列もポインタも吐くコードはかわらんから

>diff=*(tmp+i)-*(tmp+i-1);
diff = tmp[i] - tmp[i -1];
のほうがずっと読みやすい。
320デフォルトの名無しさん:2005/09/21(水) 01:40:12
printf("%lf%c\n",(tmp[i]-tmp[i-1]),(tmp[i]>tmp[i-1])?'+':((tmp[i]<tmp[i-1])?'-':' '));

diffいらね
321デフォルトの名無しさん:2005/09/23(金) 05:01:35
Public Function PrmChk(aaa as string) as Integer
 Dim bChkFlg as Boolean
 bChkFlg = False
 If文 Then
  bChkFlg = True
 End If
 If bChkFlg = False Then
  PrmChk = False
 Else
  PrmChk = True
 End If
 bChkFlg = False
 ......
以下ひたすらチェック
322デフォルトの名無しさん:2005/09/23(金) 05:05:00
Public Function PrmChk(aaa as string) as Integer
 PrmChk = False
 If文 Then
  PrmChk = True
 End If
 ......
323デフォルトの名無しさん:2005/09/23(金) 05:12:52
Integer に Boolean 入れてもおけ?
324デフォルトの名無しさん:2005/09/24(土) 15:20:48
>310
もれなら sign が sign_char[] を返すようにするがな
325ねた:2005/10/01(土) 20:37:36
int hantei(int n){
 int i;
 /* 横判定 */
 for (i = 0; i < 3; i++){
  if ( (array[i][0] == n) && (array[i][1] == n) && (array[i][2] == n) ){
   if (n ==1) printf("「○」の勝ちです\n");
   else printf("「×」の勝ちです\n");
   return 1;
  }
 }
 /* 縦判定 */
 for (i = 0; i < 3; i++){
  if ( (array[0][i] == n) && (array[1][i] == n) && (array[2][i] == n) ){
   if (n ==1) printf("「○」の勝ちです\n");
   else printf("「×」の勝ちです\n");
   return 1;
  }
 }
 /* 斜め判定 */
 if ( (array[0][0] == n) && (array[1][1] == n) && (array[2][2] == n) ){
  if (n ==1) printf("「○」の勝ちです\n");
  else printf("「×」の勝ちです\n");
  return 1;
 }
 if ( (array[0][2] == n) && (array[1][1] == n) && (array[2][0] == n) ){
  if (n ==1) printf("「○」の勝ちです\n");
  else printf("「×」の勝ちです\n");
  return 1;
 }
 return 0;
}
326こんな感じ?:2005/10/03(月) 01:56:32
int hantei_(int n){
 int i;
 /* 横判定 */
 for (i = 0; i < 3; i++){
  if ( (array[i][0] == n) && (array[i][1] == n) && (array[i][2] == n) )
   return 1;
 }
 /* 縦判定 */
 for (i = 0; i < 3; i++){
  if ( (array[0][i] == n) && (array[1][i] == n) && (array[2][i] == n) )
   return 1;
 }
 /* 斜め判定 */
 if ( (array[0][0] == n) && (array[1][1] == n) && (array[2][2] == n) )
  return 1;
 if ( (array[0][2] == n) && (array[1][1] == n) && (array[2][0] == n) )
  return 1;

 return 0;
}
int hantei(int n){
 if ( hantei_(n) ){
  if (n ==1) printf("「○」の勝ちです\n");
  else printf("「×」の勝ちです\n");
  return 1;
 }
 return 0;
}
327クラス化してみた:2005/10/03(月) 15:55:48
class Board {
enum { BOARD_SIZE = 3 };
enum { BLANK, MARU, BATSU };
int array[BOARD_SIZE][BOARD_SIZE];
...
public:
bool CheckRow(int nRow, int n) { // 横判定
assert( nRow >= 0 || nRow < BOARD_SIZE );
for ( int i=0 ; i<BOARD_SIZE ; i++ ) {
if ( array[nRow][i] != n ) return false;
}
return true;
}
bool CheckCol(int nCol, int n) { // 縦判定
assert( nCol >= 0 || nCol < BOARD_SIZE );
for ( int i=0 ; i<BOARD_SIZE ; i++ ) {
if ( array[i][nCol] != n ) return false;
}
return true;
}
// 斜め判定:bDirがtrueなら左上→右下 そうでなければ 右上→左下
bool CheckNaname(bool bDir, int n) {
for ( int i=0 ; i<BOARD_SIZE ; i++ ) {
if ( bDir ) {
if ( array[i][i] != n ) return false;
}
else {
if ( array[i][BOARD_SIZE - 1 - i] != n ) return false;
}
}
return true;
}
328クラス化してみた:2005/10/03(月) 15:57:57
あー半角スペースだめだったかorz
329クラス化してみた 1/2:2005/10/03(月) 15:59:21
class Board {
 enum { BOARD_SIZE = 3 };
 enum { BLANK, MARU, BATSU };
 int array[BOARD_SIZE][BOARD_SIZE];
 ...
public:
 bool CheckRow(int nRow, int n) { // 横判定
  assert( nRow >= 0 || nRow < BOARD_SIZE );
  for ( int i=0 ; i<BOARD_SIZE ; i++ ) {
   if ( array[nRow][i] != n ) return false;
  }
  return true;
 }
 bool CheckCol(int nCol, int n) { // 縦判定
  assert( nCol >= 0 || nCol < BOARD_SIZE );
  for ( int i=0 ; i<BOARD_SIZE ; i++ ) {
   if ( array[i][nCol] != n ) return false;
  }
  return true;
 }
 // 斜め判定:bDirがtrueなら左上→右下 そうでなければ 右上→左下
 bool CheckNaname(bool bDir, int n) {
  for ( int i=0 ; i<BOARD_SIZE ; i++ ) {
   if ( bDir ) {
    if ( array[i][i] != n ) return false;
   }
   else {
    if ( array[i][BOARD_SIZE - 1 - i] != n ) return false;
   }
  }
  return true;
 }
330クラス化してみた 2/2:2005/10/03(月) 16:00:36
 // 全判定
 bool CheckWinAll( int n ) {
  int i;
  for (i = 0; i < BOARD_SIZE; i++){
   if ( CheckRow( i, n ) ) return true;
  }
  for (i = 0; i < BOARD_SIZE; i++){
   if ( CheckCol( i, n ) ) return true;
  }
  if ( CheckNaname( true, n ) ) return true;
  if ( CheckNaname( false, n ) ) return true;
  return false;
 }
 // 判定&表示
 bool Hantei( int n ) {
  assert(n == MARU || n == BATSU);
  if (CheckWinAll(n)) {
   if (n == MARU) {
    printf("「○」の勝ちです\n");
   }
   else {
    printf("「×」の勝ちです\n");
   }
   return true;
  }
  return false;
 }
};
331デフォルトの名無しさん:2005/10/03(月) 17:46:42
おれだったら置いた石の左右上下斜め4方向だけ調べるようにするな
3ます3ますのこの場合はおなじ8回検査ってことになるけど
332クラス化してみた:2005/10/03(月) 22:26:45
>>331
それもありやね。ま、計算量的に問題なければどっちでもいいと思う。

>>332
最後のHantei()関数は外部に書くほうが class Board が生きてくるな。
内部データクラスに出力まで混ぜて書くのは設計上まずげ。
333デフォルトの名無しさん:2005/10/04(火) 13:14:21
何マスでの何目並べでも大丈夫なようにしてあげたよ

int BOARD_SIZE = 3;
int STONES_FOR_WIN = 3;
bool check_move_for_win(int x, int y, int n)
{
 static int vectors[8][2] = {
  {1, 0}, {1, 1}, {0, 1}, {1, -1}, {-1, 0}, {-1, -1}, {0, -1}, {-1, 1}
 };

 for(int i = 0; i < 8; i++)
 {
  int curx = x;
  int cury = y;
  for(int j = 2; ; j++)
  {
   curx += vectors[i][0];
   cury += vectors[i][1];
   if(curx < 0 || cury < 0) break;
   if(curx >= BOARD_SIZE || cury >= BOARD_SIZE) break;
   if(array[curx][cury] != n) break;

   if(j >= STONES_FOR_WIN) return true; // win
  }
 }
 return false; // continue
}
334デフォルトの名無しさん:2005/10/04(火) 20:03:17
>>333
これのどこがリファクタリングなんだろうか・・・・・
335デフォルトの名無しさん:2005/10/05(水) 04:32:39
>リファクタリング 【refactoring】. プログラムの振る舞いを変えることなくソースコードを変更すること。

おもいくそ違っとるがな >333
精進せえよ
336neta:2005/10/08(土) 17:58:16
void Func(void)
{
 int i = 0;
 while ( 1 ) {
  if ( Judgement(i) > 0 ) {
   Execute( i );
   i++;
  }
  else {
   break;
  }
 }
}
337クラス化してみた:2005/10/08(土) 20:29:49
それをどうせえっちゅうねん
338デフォルトの名無しさん:2005/10/09(日) 07:27:31
for(i=0; Judgement(i) > 0; ++i) Execute( i );
339デフォルトの名無しさん:2005/10/18(火) 05:25:57
もうちょっと面白いネタ投下してくれ
340デフォルトの名無しさん:2005/10/19(水) 02:51:21
 printf("並び 1:昇順 2:降順\n");
 scanf("%d", &k);
 start = clock();
 if(k==1){
  for(i=0; i<n-1; i++){
   for(j=i+1; j<n; j++){
    if(z[i]>z[j]){ temp = z[j]; z[j] = z[i]; z[i] = temp; }
   }
  }
  for(i=0; i<n; i++){ printf("%d\n", z[i]); }
 }
 else if(k==2){
  for(i=0; i<n-1; i++){
   for(j=i+1; j<n; j++){
    if(z[i]<z[j]){ temp = z[j]; z[j] = z[i]; z[i] = temp; }
   }
  }
  for(i=0; i<n; i++){ printf("%d\n", z[i]); }
 }
 finish = clock();
 printf("処理時間→%lf\n", finish - start);
341デフォルトの名無しさん:2005/10/19(水) 18:02:08
sort使えで終わるじゃんか・・・
342デフォルトの名無しさん:2005/11/03(木) 14:03:26
サンプルコード
(1987年度「最悪なスタイル賞」受賞作品 by Spencer Hines)
#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79,
ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot:
if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott;
gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0)
goto oggt; goto ggot; ogog: if ( !ogot) goto gogo;
goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto
gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg;
goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo);
goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto
oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3;
goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo;
goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen(
toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto
ggot;}
343デフォルトの名無しさん:2005/11/09(水) 02:10:28
obfuscatorかけたような感じだな
344デフォルトの名無しさん:2005/11/12(土) 19:03:05
上司SEにスケジュールの遅れで怒られるのが嫌なのでとりあえず単体テストおkにしておいて
あとでこっそり修正するのもリファクタリングか?
345デフォルトの名無しさん:2005/11/14(月) 03:01:13
振る舞いが変わっちゃうのはリファクタリングとは言わない
デバッキングもしくはリストラクチャリング
346デフォルトの名無しさん:2005/12/21(水) 16:40:16
VS2005でVC++だけがリファクタの機能をハブられた件について
347デフォルトの名無しさん:2005/12/21(水) 20:06:54
>>345 そんな言葉遊びされても現場は困ります。現実を見つめるように。
348デフォルトの名無しさん:2006/01/07(土) 12:35:27
int main(int argc, char* argv[])
{
int a=10,b=7;
printf("割ってかける演算子、かけて割る演算子\n");

// 3で割ってから3でかける演算子
a/*=3;
  
// 5でかけてから5で割る演算子
b*/=9;

printf("a=%d b=%d\n",a,b);
getchar();
return 0;
}
349デフォルトの名無しさん:2006/01/08(日) 12:59:29
コメント文にしか見えませんけど・・・
350デフォルトの名無しさん:2006/02/13(月) 23:38:28
利ファクタリングしてる?
351デフォルトの名無しさん:2006/02/14(火) 00:59:07
コントにしか見えませんけど・・・
352デフォルトの名無しさん:2006/02/14(火) 15:53:56
もうややこしいこと言わんと全部作り直せや
353デフォルトの名無しさん:2006/02/14(火) 19:13:15
#include <stdio.h>
int main(int, char *[])
{
int a=10, b=7;
printf("割ってかける演算子、かけて割る演算子\n");
// 3で割ってから3でかける演算子
a /= 3; a *= 3;
// 5でかけてから5で割る演算子
b *= 5; b /= 5;

printf("a=%d b=%d\n", a, b);
getchar();
return 0;
}

振る舞いは変わってないはずだが元のコードに意味がなさ過ぎるので
リファクタリングしようが何しようがやっぱり意味が無い。
大体コメントは5なのにコードは9ってどっちなんだよ。
いや中間全部コメントだけどさ…
354デフォルトの名無しさん:2006/02/14(火) 22:58:47
>>353
クマー
355デフォルトの名無しさん:2006/02/23(木) 02:02:32
アフォなコメントは悪
除去汁!
356デフォルトの名無しさん:2006/06/21(水) 21:43:46
357デフォルトの名無しさん:2006/06/21(水) 22:10:45
>>356
仕様が無けりゃリファクタリングなんてできないよ。
358デフォルトの名無しさん:2006/06/22(木) 00:24:42
359デフォルトの名無しさん:2006/06/22(木) 00:25:50
Classとか使うのも可。<358
360デフォルトの名無しさん:2006/06/22(木) 00:29:25
某宿題スレの奴で、コンストラクタとか使ってくれという依頼。とりあえずクラス使うようにしたのがこれ。
配列は使ってない。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2119.txt
361デフォルトの名無しさん:2006/06/22(木) 00:31:21
さあどうだ?ウズウズするだろう?
暇だったら>>358をリファクタリングしてくれ。
362デフォルトの名無しさん:2006/06/22(木) 10:08:05
>>358
とりあえず配列と関数を使うようにしてみた。
( 暫定 )
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2142.cpp
363356:2006/06/22(木) 19:48:32
仕様は書くほどのものではないのですが、
何の変哲も無いB木です。
データの追加と削除のみができます。
364デフォルトの名無しさん:2006/06/22(木) 20:18:43
俺の人生をリファクタリング
365デフォルトの名無しさん:2006/06/22(木) 22:10:28
>>364
仕様は?
366デフォルトの名無しさん:2006/06/22(木) 23:29:06
>>363
何かしらの問い合わせを持たないと、どんな実装でもテスト不能なわけだが。
367デフォルトの名無しさん:2006/06/22(木) 23:53:15
B-Treeなんだし、提示されたコードが正しく動いているという前提ならリファクタリングは出来る。
ただ面白みがないので、俺はやらんが。
368デフォルトの名無しさん:2006/06/25(日) 20:37:58
>358
とりあえずmain()だけ
{
//◆タイトル
title();

//◆ゲームシステム
int credit;//出力整数:所持メダル数
int game=0;//出力整数:総ゲーム回数

srand( (unsigned)time( NULL ) );
for(credit = 5; credit > 0;){// ↓ ↓ ↓ ↓ ↓ ここからループ ↓ ↓ ↓ ↓ ↓
int bet;//入力整数:賭けメダル数
if((bet = setBet(credit)) == 0) continue;
if(bet<0 && endCheck()) break;
credit -= bet;

//メダル投入完了・ゲーム開始
++game;
dispSlot(bet);
reelStop(bet);
credit += payCheck(bet);
//ゲーム終了
}// ↑ ↑ ↑ ↑ ↑ ループここまで ↑ ↑ ↑ ↑ ↑

//メダル切れもしくは任意の終了
endTitle(credit, game);
}
369デフォルトの名無しさん:2006/07/27(木) 09:26:32
hos
370デフォルトの名無しさん:2006/10/31(火) 12:06:38
ファウラーの「リファクタリング」を拾い読み
してふと思ったこと。「クラスの抽出」で多量のメソッド
とデータがある場合、とありますが、(定)量的な目安なんか
は議論されているのだろうか。
371デフォルトの名無しさん:2006/11/01(水) 01:52:31
372デフォルトの名無しさん:2006/11/01(水) 07:56:37
>>371
ナールほどね。こういう方面からのアプローチもあるね。
でもソフトウェアエンジニアリングプロパーでの議論
とかOO業界での論議とかは、ちょっと見当たらない。
知ってる人がいたら教えて。なんかベックの未邦訳
の論文でちらっと読んだ気がするんだけど。。。
記憶違いかも。
373デフォルトの名無しさん:2006/11/18(土) 17:59:10
>>364
アウトプットは同じでいいの?
374デフォルトの名無しさん:2006/11/18(土) 18:00:46
なんか、PMDっていうソースコードをチェックするツールに
「複雑すぎる、どないかせぇ!」ってよく怒られます。
>>370
なんか関係ありかなぁ
375デフォルトの名無しさん:2007/04/12(木) 23:25:52
 
376デフォルトの名無しさん
リバーシスレより
マクロ使いまくり。

ttp://up2moe.moe.hm/img/q927.txt