リファクタリング、させてくれ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG自分で書いたけど、なんかあやふやなしっくりこないコード。
そんなコードを、リファクタリングします!
うpろだ
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0002デフォルトの名無しさん
NGNG00031
NGNG例えば、これ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1076074304_6/heapsort.zip
コマンドライン引数を、ヒープソートするコードだ。
片手間に、リファクタリングしてみてはどうだろうか。
0004デフォルトの名無しさん
NGNGそのソースではリファクタリングする意味が無いな
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGやってみる?
0007デフォルトの名無しさん
NGNG00081
NGNGちょっとやってみたい
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?RefactoringMalapropism
>>5や>>7の懸念についてFowlerが語ってますよ。
00111
NGNGじゃあ、「いわゆるリファクタリング」で。
001210
NGNG0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG「リファクタリング断行!? 脳内テストケースで、ビルド・オン!」
乞う御期待!
0016デフォルトの名無しさん
NGNGリファクタリングすれ
0017デフォルトの名無しさん
NGNG互換性のために変えられないインターフェイスが腐っているので、やる気が起きません。
0018デフォルトの名無しさん
NGNGEclipseのは限定的でリファクタリングのすべてじゃないってか
0019デフォルトの名無しさん
NGNGそんな当たり前のことを言われても・・・。
0020デフォルトの名無しさん
NGNGだから客にリファクタリングしただろヴォケといわれます。
0021デフォルトの名無しさん
NGNGそれはリファクタリングじゃなくてリストラクチャリングかも
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNG問題は、すでに動いてるコードに対するテストコードを後から書くと
テスト漏れやミスが分かりにくいことだな。
テストファーストだとテストコード自体のデバッグも同時に行うので
リファクタリングするときにはテストが信頼できるんだが。
0024デフォルトの名無しさん
NGNG>すでに動いてるコードに対するテストコードを後から書くと
>テスト漏れやミスが分かりにくい
ん?なんで?
>テストファーストだとテストコード自体のデバッグも同時に行うので
>リファクタリングするときにはテストが信頼できるんだが。
信頼できるって、何が?
テストしながらテストコードデバッグするなら、
テストコードがまちがった方に倒れるかも知れんじゃん。
0025デフォルトの名無しさん
NGNG>すでに動いてる〜
テストがfailしない原因は、何もテストしていないから、という場合がある。
きちんとテストが失敗するターゲットを用意して、すべてのテストが機能することを
確認してから実ターゲットをテストするのなら確実だが・・。
テストファーストはその工程を内部に組み込んでいるってこと。
先にテストが正しく機能することを確認(=デバック)できたところで
初めてターゲットコードの実装を開始するので
同時っていうよりテストのデバッグが先か。それでも実際途中でテストのミスが
発覚することがあるので同時っていうイメージだったが、その場合も
テストの修正・確認が先で、その動作に基づいてターゲットの実装だな。
0026デフォルトの名無しさん
NGNGバグを見つけました。やばいよー
0027デフォルトの名無しさん
NGNG同時っていう〜 は別に動作済みコードに対して後からテスト書いても別に変わらんじゃん。
0028デフォルトの名無しさん
NGNGん?なんで?
そんなんでテスト漏れに気づかないなんてあるわけないじゃん。馬鹿かお前。
>きちんとテストが失敗するターゲットを用意して、すべてのテストが機能することを
>確認してから実ターゲットをテストするのなら確実だが・・。
確実な方法があるのにそれを無視して意見してたわけか・・・。
やっぱり馬鹿だお前。
>テストファーストはその工程を内部に組み込んでいるってこと。
だからなに?まぁ、馬鹿じゃ仕方ないか・・・
0029not in {1, ..., 28}
NGNG> そんなんでテスト漏れに気づかないなんてあるわけないじゃん。馬鹿かお前。
常にsuccessするようなテストを書いてしまう可能性があるということだ。
> テストファーストはその工程を内部に組み込んでいるってこと。
> だからなに?まぁ、馬鹿じゃ仕方ないか・・・
テストファーストであれば、
テストがfailすることを最初の動かないターゲットコード
そのものによって確認しておけるが、あとでテストするのであれば、
failするターゲットを別に書かなくてはならず、手間がかかる。
0030デフォルトの名無しさん
NGNG元からのバグであれば...まぁ仕方がないか(w
0031デフォルトの名無しさん
NGNGつまらん
0032デフォルトの名無しさん
NGNGつまらん
0033デフォルトの名無しさん
NGNG実際に障害が発生する前にバグを見つけたということで、ここは前向きに喜ぶべし。
運用環境の修正をお願いしてもらいましょ。組み込みソフトだったりするとアレだが…
そういやFowlerの「リファクタリング」には、リファクタリングには
バグフィックスやコードレビューの効果があるって書いてあったな。
0034デフォルトの名無しさん
NGNG「その件はリファクタリングで解決するので、このままで良いんです」とか訳のワカラン御託を並べがち。
じゃ、今すぐリファクタリングしろよ、設計レベルでw
ソースもろくすっぽ読めないマネージャに限って、
そーゆー戯言をまじめ信じちゃうからコワヒw
0035デフォルトの名無しさん
NGNG昔いた職場で、それぞれ数十人月〜数百人月のJavaアプリのソース、3〜4システム分集めて、
リファクタリングして再利用可能なコンポーネントベースの設計にしる!
って仕事に関わったことがある。なんか、事業部の部長が端から来てて、怖かったでつ。
コンポーネント抽出だったら楽勝なんだけどねぇ〜。
全部漏れなくコンポーネント化して、再利用&拡張可能にする、
つうのは難しいよ、実際問題として。
やっぱ、大規模システム全部をリファクタリングで整理します、とか言うのは、
ソース再利用ビジネスならまだしも、
現在運用中〜運用開始直前のシステムでは、
難しいのではないか、と。
#リファクタリング計画書とユニットテスト報告書を作成しる!、と。
発想は、そーゆー経験がないから言っちゃうんだろうなぁ〜、と。
0036デフォルトの名無しさん
NGNG「りふぁくたりんぐ」なぞさせんでくれ
0037デフォルトの名無しさん
NGNG>じゃ、今すぐリファクタリングしろよ、設計レベルで
それはリファクタと言わない
リストラクチャだ
0038デフォルトの名無しさん
NGNG再利用可能性とかコンポーネント化はリファクタリングの目的でもないしねえ。
open-closed であるように作りはするけどさ。
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGヒヨコちゃん、ウマウマ
0042デフォルトの名無しさん
NGNG激しく謎な仕事だな
目的の無い再利用は矢口でオナニー
0044デフォルトの名無しさん
NGNGキモッ
オエオエオエェェェェ
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG>>45 ◎ 優秀なリファクタラーでつね。機転が効くとも言うがw
>>46 判定不能。頭蓋骨開いて、頭の中をリファクタリングしてもらって来てくらさい。。。
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGリファクタリングってマーティンファウラが発明したんだと思ってるんだろうな。
それまでおまいは何ボヤボヤしてたんだ(プププ
0054デフォルトの名無しさん
NGNGOO を知る前から OO をしており、
デザパタが流行る前からデザパタを実践していた人ですね?
0055デフォルトの名無しさん
NGNG>OO を知る前から OO をしており、
こっちは、よほどの田舎者か、はたまた「独立歩行者」じゃないと、無理でしょうな。
あ、1968年以前からキャリアがあったら、話は別だけどw
>デザパタが流行る前からデザパタを実践していた人ですね?
こっちは、1987 OOPSLA以前の話か。
1980年代中頃には、PaloAlto Smalltalk80はあちこちにライセンスされてて、
そん中には、例の本に載ってるパターンも多用されてるから、
あながち無理じゃないでしょ。
確か、本郷の某研究室では、PaloAlto帰りの教授が、Smalltalkプロセッサとか、並列Smalltalk開発してたし、
神田の某ソフト販売店では、Digitalk smalltalk/Vあたりの販売が始まってたしw
0056だから、OOつうのは
NGNG>53 項書換系の説明
それぞれキボン。
0057でもコンピュータ・サイエンス(自然科学への計算機適用除く)って、
NGNG0058デフォルトの名無しさん
NGNG一体どこに向かおうとしているのでありますかっ!
0059デフォルトの名無しさん
NGNG船って何よ、フネって?
フネは波平の奥さんだよー?
0060デフォルトの名無しさん
NGNGYou aren't gonna need it. (それは必要ない)
頭でっかちのOOオタクがやる将来のための抽象化
それはやるなというスローガン
抽象化によってコードは増大する
読みづらくなる
バグを出す
たいてい、要求は変わり、予測が外れ、役立たずのコードとなる
0061デフォルトの名無しさん
NGNGJavaの批判はよしたほうがいい。
0062デフォルトの名無しさん
NGNG> :今じゃ、OOよりも影響力小さいよねw通信とか情報ならまだしも
>「通信とか情報ならまだしも」
は?意味不明
0063デフォルトの名無しさん
NGNGは?意味不明。
コンピュータサイエンスって言葉、10年前と比べて聞く機会ぐっと減ったでしょ。
国内はやっぱ、電気通信学会>>>>情報処理学会>>>>ソフトウェア科学学会かな、とw
0064デフォルトの名無しさん
NGNGOOの人って、必ず師匠が居て、
その師匠が言ったことを1から10まですべて盲信しがちなんで、
サイエンス〜エンジニアリング指向の俺的に、議論がしにくい。
なんで、リファクタリングの話に、XPってような局所的なビジネス手法の話を絡めるのか、意味不明。
正直、予算と金と才能が有り余ってる場所に居れば、XPの精神を尊びつつ、XPの禁じ手を破り限界を極めることは、
極めて重要だと思う。Smalltalk作った連中だって、いろいろな経験と試行錯誤の末に、アレ作ったんでしょ。
要するに、他人の行動に制約を課して、他人の可能性を摘むような真似は、おやめなさい、つうこと。
0065デフォルトの名無しさん
NGNG目的喪失〜自己矛盾に陥って、静かになると信じ込んで居るんだよ。
リファクタリングなんて、項書換系〜数式処理〜数学的証明の、一バリエーションに過ぎないのにw
0066デフォルトの名無しさん
NGNGそーいや、おまぃさんも昔は数式処理屋目指してたんだっけな。
きっかけは何よ?
0067デフォルトの名無しさん
NGNG学部必須講義の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
0068デフォルトの名無しさん
NGNGコンピュータサイエンスは無駄と言っといて、訳ワカメ。流行り言葉と内容の区別がついて名下げ。
サイエンスとエンジニアリングの区別もついてなさげ。学会序列もレス内容との相関不明。
ま、いいけど。
項書換え云々もいいが、現実として副作用はどうよ。
つってもスタックがちょい増えたりするくらいか。
0069デフォルトの名無しさん
NGNGすいません、何をおっしゃっておられるのか、よくわかりません。
批判する時は、「おまいの発言は間違ってる」などという子供じみたやり取りは無しにして、
「おまいさんの〜という発言は、〜という事実に反しているから、間違いだ」と正確に発言していただけませんか?
あと、あなたが素晴らしいお考えをお持ちだとしても、スタック云々などという実装上の概念を持ち出した段階で、
非常にレベルの低い、はっきり言って話が判っていらっしゃらない方の発言と、まるで区別がつきません。
言語能力が低いから、そのように断片的な言葉しか吐けないのか、
あるいは、知らないことを知ったかぶりして、世間に迷惑をかけても気にしないが故のご発言なのか、
はっきりしていただけませんか?
0070デフォルトの名無しさん
NGNGまたいつもの、知ったかぶりだよ。
リファクタリングと副作用、なんて今更なこと言い出す位だから、お里が知れてる。(大岡山の近所かな〜と苦笑
0071デフォルトの名無しさん
NGNGあのツールの話をしれば、大岡山のご近所の彼も納得するのでは?
と言ってみるテスツ
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG日本語ちゃんと理解できないんですかぁ?
>流行り言葉と内容の区別がついて名下げ。
あ、日本語は辛うじて判るけど、僻みっぽいご自身を基準に相手を貶めることしかできないようですねw
>サイエンスとエンジニアリングの区別もついてなさげ。
これはおもろい。ここ1〜2カ月で、最高に笑えるジョークだw
さっそく、あなたの珍説を誤解珍くださいw
>学会序列もレス内容との相関不明。
>ま、いいけど。
因縁つけて、にげるんじゃねぇからよ、この糞ガキ
>項書換え云々もいいが、
知らない言葉はいつもスルー、これじゃぁいつまでたっても賢くなりませんね。
周りの人は皆気づいてるけど。
>現実として副作用はどうよ。
これ、マジ?かわいそうになってきた。。。
>つってもスタックがちょい増えたりするくらいか。
あ、答えわかるなら、さっさとご高説を誤解珍ください。おながいします。
できることなら、ソースではなく、操作的意味論あたりでおながいします。
0074デフォルトの名無しさん
NGNGスレの流れと無関係ですね。
デムパを発信するのは、お控えください。
0075デフォルトの名無しさん
NGNG>要するに、XPとリファクタリングは、もともと無関係ってこったw
もともとXPは、ビジネス至上主義に基づくノウハウ寄せ集め手法でしかありませんが、それが何か?
とゆーか、XPの話を、動かし難い真実であるかのように振り回すのは、ヤメにして頂きたいね、
経験浅い癖に。
0076デフォルトの名無しさん
NGNG>>68 さんは、もう戻ってきませんw
0077デフォルトの名無しさん
NGNG項書換えは知らないが、プログラム実行を計算ととらえての
等価保証だろ? 現実にはメモリの上限もあるし、CPUコストもあるよ。
高貴な爺さんが、そんなのは馬鹿の戯言とのたまうのは勝手だがね。
>>学会序列もレス内容との相関不明。
>>ま、いいけど。
>因縁つけて、にげるんじゃねぇからよ、この糞ガキ
絶妙の引用と逃げだね。
0078>>68後半部分をリファクタリングしますた。
NGNG発言:「項書換え云々もいいが、現実として副作用はどうよ。
つってもスタックがちょい増えたりするくらいか。 」
疑問点1:リファクタリングとは、本来、ふるまいを保ったまま、
ソースコードを変更/再構成する技術を指す。
これは項書換系における項の書換と、同種の技術である。
しかし、実際は、ふるまいを保たないソース変更
(いわゆる「いわゆるリファクタリング」)も使わないと、
人間が意図するリファクタリングを完遂できない事が多い。
これは、どーゆー事か?
・ふるまいを保たない、いわゆる「いわゆるリファクタリング」
を使って、なぜ仕事を完成させる事ができるのか?
・一連の作業終了後、作業前のソースのふるまいは、完全に保たれるのか、
あるいは、保たれない部分も出てくるのか?
疑問点2:>>68の「スタックが、ちょっと増えるだけ」という脳内妄想は、
このスレ的にいかに扱うべきか?
とりあえず、「ところでそのスタックは、どこに存在するのですか?」
と尋ねたら、>>68は暴れないだろうか?
0079デフォルトの名無しさん
NGNGそれはどうだろうね。
たしかに、ビジネスの実世界を前提にしてはいるけど、
きちんと現実世界に根ざして、創造性のないWFからの脱出を目指しているところがポイントかと。
そもそもOO自体、アカからは、技術検討はでてきても、基礎論てないんじゃないの?
0080デフォルトの名無しさん
NGNGやっぱ、中学生〜高校生かぁ〜。
相手にして、損したぜ。
イパーイ勉強して、学校卒業してから、ここにおいで。
0081デフォルトの名無しさん
NGNGOO、基礎論?ハァ?
基礎論て、何を指すものか、勉強してから来い
0082デフォルトの名無しさん
NGNGまあ、趣味としてはいい趣味だと思うよ。うん。
ソフトの仕事はしないほうがあんたと世のためだよ。
0083デフォルトの名無しさん
NGNGすみません。用語が不適当でしょうか。(基礎論でどういう意味でしょうか)
なんとなく、OOって理論的な基盤の話を聞かないなぁ、と思ったもので。
型なら型理論とかあるし、計算としては計算量は明確にOが出るし、計算モデルもあるけど、
OOって、そういうカチッとした基盤がないのかなぁ、と。
0084デフォルトの名無しさん
NGNGそのWFってなんでしょうか?
可能でしたら、お教え頂けますと幸いです。
ところで、OOはアカではなく、現場から出た、とのご高説ですが、
私の存ずる範囲ではOOは、極めてアカに近い研究活動、もしくはアカにおける実践から発生した
といっても差し支えないのではないでしょうか?
例えば、上に上げた、項書換系/検証技術とリファクタリング/ユニットテストとの類似性は、
単なる偶然というよりはむしろ、前者に関する知識体系の積み上げがあり、
その上に花開いたものではないでしょうか?
コンピュータ自体、チューリングを始めとする数学者の積み上げがあり、
次に戦争による莫大な計算の実行という需要があって、はじめて現実のものとなった、
と記憶しておりますが、いかがでしょうか。
0085デフォルトの名無しさん
NGNGん?しょうがくせいはおねむのじかんだよ。
おとなのかいわにくちはさむひまがあったら、
べんきょうしてなさい。おやすみ。
0086デフォルトの名無しさん
NGNG話がループしてるね。数年単位で。
おれ、そのテーマを数年前に2ちゃんで開陳した覚えがある。
未だにそんな事言ってる椰子がいるなんて、信じらんない。
米沢県かMSRにでも逝って、教えを乞うてはどうよ?逝ければ、の話だが。
0087デフォルトの名無しさん
NGNG> を使って、なぜ仕事を完成させる事ができるのか?
仕事って言葉がよくわからんけど、
クライアントも変えられる状況だからだろ?
>・一連の作業終了後、作業前のソースのふるまいは、完全に保たれるのか、
「いわゆるリファクタリング」をしたあと?それなら当然否でしょ。
0088デフォルトの名無しさん
NGNGハァ?
リファクタリングの意味 (上の方で他の人が書いてるね)すらおさえてない、
キティガイ発見。
0089デフォルトの名無しさん
NGNG変な奴が常駐してるね、
引きこもりだから、何にでも食いつく食いつくw
でも、中身がないから、誰にも相手にされない、かわいそうな人。
0090デフォルトの名無しさん
NGNGこんなんで仕事ができてるんだろうか。
0091デフォルトの名無しさん
NGNG意味も判らずに、人の口真似する動物って居るやん、
あの類いを相手にしてる気分だ。
書くこと書くこと、デタラメか思いつきか、はたまた過去レスのコピーばっか。(>>82,>>83,>>87)
糞だねこの板の粘着くんは。
009279
NGNGべつにアカを蔑視してないですよ。アカがなきゃ困るのは当たり前なわけで。
WFはウォーターフォールです。
現場にいないと信じられないかもしれませんが、現実にかなり残ってますよ。
OOやリファクタリング・ユニットテストの出自は、
少なくとも、後者はアカの助けがいるほど大層なものでもなく
現場から自然に生まれて当たり前、という感じがしますが、
ソースを持たないのでなんともいえません。
OOは、現場よりのアカ生まれ、って感じがします。感じがしてどうするだかあれですが。
>>86
そのスレの名前とかわかりませんか?
面白そうです。
0093デフォルトの名無しさん
NGNGハァ?
リファクタリングの話題にすらついて逝けず、
「リファクタリングを手段として使う、上位概念としての仕事」という明白な範囲限定を理解できない
キティガイ発見。
0094デフォルトの名無しさん
NGNGたった二行のレスで俺を外基地認定できる君に乾杯。
ローブロウすぎてついて行けんわ。
0095デフォルトの名無しさん
NGNGなんか、いいかげんな思い込みを主張されてるだけらしいので、
反論するのも説得するのも、ただただ面倒です。
いい年こいて、駄法螺を書き込む事に熱中する大人が居るのは嘆かわしい事ですが、
そんな大人の掲示板に、嘘や虚勢に対する罪悪感すらお持ちでない子供が来ると、
とてもウザいです。皆、お互いの罪悪感をネチネチからかいながら、会話を楽しんでるのです。
あなたには、嘘・デタラメに対する罪悪感も、はたまたキラリと光る知性も、
全く感じられず、相手にしても疲れるだけです。
しばらく匿名掲示板に書き込むのはおやめになり、
もうちょっと勉強なり成長なりすることに専念されてはいかがでしょうか?
スレ名:
ム板:関数型言語2
情死す板:(OO関連キーワードか、「学術」をキーワードに探せ)
0096デフォルトの名無しさん
NGNGなんか、いいかげんな思い込みを主張されてるだけらしいので、
反論するのも説得するのも、ただただ面倒です。
いい年こいて、駄法螺を書き込む事に熱中する大人が居るのは嘆かわしい事ですが、
そんな大人の掲示板に、嘘や虚勢に対する罪悪感すらお持ちでない子供が来ると、
とてもウザいです。皆、お互いの罪悪感をネチネチからかいながら、会話を楽しんでるのです。
あなたには、嘘・デタラメに対する罪悪感も、はたまたキラリと光る知性も、
全く感じられず、相手にしても疲れるだけです。
しばらく匿名掲示板に書き込むのはおやめになり、
もうちょっと勉強なり成長なりすることに専念されてはいかがでしょうか?
スレ名:
ム板:関数型言語2
情死す板:(OO関連キーワードか、「学術」をキーワードに探せ)
0097デフォルトの名無しさん
NGNG意味も判らずに、人の口真似する動物って居るやん、
あの類いを相手にしてる気分だ。
0098デフォルトの名無しさん
NGNGくだらない質問ですみません・・・
0099デフォルトの名無しさん
NGNGageて書くと、板専属の煽り粘着が来てスレを荒らす。
したがって、今後はsageで書く事にしよう。
0100デフォルトの名無しさん
NGNG頭が未発達なのに粘着されると、
こっちまで同類と間違えられそうで、
コワヒなぁ〜
0101デフォルトの名無しさん
NGNGこのままでいい という理屈が意味不明だな
0102デフォルトの名無しさん
NGNG「このままでいい」という単語以外理解できなかった訳ですねw
しかも、「理屈が意味不明」とコメントするのが精一杯、という
洞察力や想像力の欠落っぷり。
もうちょっと、わかりやすい言葉で、概念を整理してしゃべってごらん。
今のままでは、君の言葉を誰も本当に理解できないよ。
君がコミュニケーションだと思ってるものは、
言葉足らずな子供の誤解に基づく喧嘩でしかないよ。
0103デフォルトの名無しさん
NGNG1 :デフォルトの名無しさん :04/04/13 22:41
会社で見つけた糞コード。
自分で書いたけど、なんかあやふやなしっくりこないコード。
そんなコードを、リファクタリングします!
うpろだ
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
0104デフォルトの名無しさん
NGNGそれを真面目にやると情報漏洩になるか、またはヤバイ部分を隠す手間が馬鹿にならなくなるので
だれもやりたがらないのでは?
アジャイルスレが閑古鳥が鳴いているので、ここで語ってもらってもいいんじゃないでしょうか。
0105デフォルトの名無しさん
NGNG>>1で、よりによって「会社で見つけた糞コード。」で「うpろだ」つう展開は、
普通それなりの覚悟と逃げ道ないと、できない。
むしろ、世の中の実際の「リファクタリング」は、
「他のソース参考に、新規ソース作成」ってな作業とか、
「古いシステムのミグレーション」ってな仕事の中に、
潜り込んでる。そして、それは、XPが勝手に制限してる制約の外側で慎重に行われている。
まぁ、XPとは予算も資源も桁違いな業務 (多い場合も少ない場合も含め)だからね。
最初の印象、及び、100レス経過後の現状を見て、
本スレは、現実のリファクタリング愛好家とは無関係のネタスレ、と判定しますた。
要するに、>>1は世間知らずなヒッキー。
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNGEmacs上で動く定理証明系 BunBorg プロジェクト
(人手による証明の項書換の支援→リファクタリングと構成的プログラミングを結ぶ重要な仕事だ!) や、
はたまた DNAコンピューティングで有名なはぎゃー先生におでまし願って、
「世の中の全てのコードをリファクタリングする」ってなテーマで語ってもらってはどうよ?>>亞蛇居る愛好家の皆様
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNGじゃあまずユニットテスト作って(一休さんかよ)
0111デフォルトの名無しさん
NGNGだからさ、それリストラクチャだって
01121
NGNG「いわゆるリファクタリング」でしかなく、
また、それなら「テストケース付きでリファクタリーをうpしてもよかろーもん」って思ってたんだけど、
どっちかっていうとリファクタリング論議が盛んになっちゃって。
まあ、リファクタリング論議にも興味はあるのでそのまま続けるヨロシ。
0113デフォルトの名無しさん
NGNG問題は、著作権以外にもあって、
最大の問題は、1000レス/1スレッド程度のスレで議論できるような代物じゃないって事。
社内にSourceForgeサーバ立てて、バザールでござーる方式で処置しようともしたんだけど、
そんなもんに取り組む暇人、社会人には居ないよね、っつう事。
0114デフォルトの名無しさん
NGNG×「副作用」
ぢゃなくて
○「等価変換が必ずしも保証できない変換」
ってなニュアンスだったと思う。立命館のセンセのリファクタリング・ツールの説明では。
0115デフォルトの名無しさん
NGNGますます磨きをかけて納品してますが、何か?
0116デフォルトの名無しさん
NGNG某スレで漏れが産業廃棄物つったのは、
著作権の関係上、参照すらイャン!なコードの山が何故か手近に残ってて、
信義上、再利用することが不可能だから産業廃棄物つったんだけど。
産業廃棄物売って生計立ててらっしゃるとは、随分優雅なご身分ですね。
漏れの場合、売るコードより製造過程で捨てるコードの方が多いくらいだw
0117デフォルトの名無しさん
NGNG自動検証機構付の式変換作業と言い換えると、なんだか面白そう。
けど、式変換におけるホロノミック基底、
λ式におけるβ簡約みたいな、
確実に結論を導くための手法がないのが、気掛かりだ。
だから答えを見つける面白みがある、とも言える。
とはいえ、所詮、単なる式変換。
はぎゃ〜先生が「命題=型、証明=プログラミング」のコラムに書いてた構成的プログラミングの世界に比べ、
地道な機械的作業って感じもする。
んんん?!それって今なら、テスト主導開発 (Test Driven Development?)に相当するのか?
型 ≒ 型チェック ∈ 表明 または テスト てな意味で。
結局、本体プログラムの作成で、Eiffelの表明やら、Assertionやら、ユニットテストみたいなもんを有効活用するのが本来大切なことで、
リファクタリングつうのは後戯みたいなもんでしかないのかと。
そ〜いや、あのプロジェクト、
Test First でもなければ、逆Vで仕様書とテスト仕様書同時に作るつう習慣も守ってないけど、
どうやってテストする気だろう・・・(´Д`)
0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNGなんかつまんねぇ香具師ばっかだなw
さっさと市ね
0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG自動検証機構付の式変換作業と言い換えると、なんだか面白そう。
0126デフォルトの名無しさん
NGNG数式処理におけるホロノミック基底、
λ式におけるβ簡約みたいな、
確実に解を導き出すための手法がないよね?
なんか、研究されてないのかな?
でも解の評価軸が複数存在するから、解の導き方も経験的に探っていくしかなさそうだ。
結局リファクタリングって、あらかじめ決まっている答えを導くのではなく、
答えを見つける過程に関する経験則とテクニックだから、興味深いんだよね。
0127125
NGNGとはいえ、リファクタリングって単なる恒等変換。
はぎゃ〜先生が「命題=型、証明=プログラミング」のコラムに書いてたよーな
「構成的型論理」に基づく「構成的プログラミング」の世界に比べて、
地道な単純作業、機械的作業って感じがするよ!
0128126
NGNGそんなの、みんな知らないYO!
あんたが言いたいことって、もしかして、
今流行りの、テスト主導開発 (Test Driven Development?)あたりに関係するのか?
型 ≒ 型チェック ∈ 表明 または テスト てな意味で?
0129127
NGNG結局、本体プログラムの作成で重要かつ興味深いのは、
Eiffelの表明やら、Assertionやら、ユニットテストみたいなもんであって、
リファクタリングつうのは後戯みたいなもんでしかないのかと。
0130デフォルトの名無しさん
NGNGあ〜、しんど。
0131デフォルトの名無しさん
NGNG解を確実に導き出す戦略、ね。
で、解はなんでもありの最適化みたいな問題だから、
簡単に解をきめらんない、と。結局いろいろコード変えて、
全体のバランス調整してくしかない、と。
あらゆる人間の創造的仕事とは、実は非線形最適化問題の解決に他ならない(なんちて
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNGリファクタリングのメリットを B
リファクタリングの作業単位を W
として、|B|/|W|を最大にしる!
てな問題で、
最急降下戦略かなんかとって、
dB/dWが最も大きな方向に突っ込む、と。
んで、リファクタリングが作業者の手に余る複雑怪奇な代物になって、
リファクタリング・デスマーチもしくは作業が発散する、と。
結局、人間が操作可能なリファクタリングだけ追っかけても、
最適解には決して到達しないんではないか、と。
0134デフォルトの名無しさん
NGNG猿には猿の可読性、
雉には雉の可読性がある。
おれは、猿や雉にとっての可読性、ってのは、あんま考えたくないんだw
0135デフォルトの名無しさん
NGNGセルオートマトンとPentium4を一緒にするくらい滑稽な表現に聞こえるぞ?
機能が等価なのは、それがリファクタリングの必要条件なんだから当たり前でしょーが。
リファクタリングの第一目的は可読性の改善。表明やテストのような機能の改善は副産物なの。
可読性が計測不能だからって無視してくれるな学者殿。
0136デフォルトの名無しさん
NGNGとてもよさそうなものだと思うのですが。
0137デフォルトの名無しさん
NGNG笑止。やってらんねぇなぁ〜。
だから、OO周りは頭の固い信仰者ばっかだwって愚痴りたくなるんだよ。
さっさと猿プログラミングでもすればぁ〜?
0138ポストOO指向
NGNG>機能が等価なのは、それがリファクタリングの必要条件なんだから当たり前でしょーが。
>リファクタリングの第一目的は可読性の改善。表明やテストのような機能の改善は副産物なの。
機能を等価に保つためには、表明やテストが必須だから、
明示的にせよ暗黙的にせよ、表明とテストは、リファクタリングの基礎付けなんだよ。
可読姓の改善、なんつうのは、文系チックなまやかしにすぎず、
その本質は、簡約化なんだよ。
全く、オブジェクト指向患者っつうのは、脳みその血の巡りが悪いやっちゃなぁ〜。
あ、オブジェクト指向すらわからんなんつーのは、論外の方向で。
0139デフォルトの名無しさん
NGNG>恒等変換ってアンタ……。
>セルオートマトンとPentium4を一緒にするくらい滑稽な表現に聞こえるぞ?
複雑性の例として、Pentium4挙げるとは、発想が貧困なやっちゃなw小学生か?
#将来は、「この業務処理は、非常に複雑な業務知識が必要なので、文書化は難しい」
#なんつって、暗黙の前提と矛盾だらけの仕様書と格闘する、業務SEにでもなるつもりか?
Pentium系CPUと言えば、複数のパイプラインを持つRISC的なCPUコアに、
ix86アーキテクチャ互換の命令デコーダを付けた、
エミュレーションCPUとして、あまりにも有名。
やってる事の本質は、ix86命令からRISC的コアのネイティブ処理への恒等変換。
結果として、処理機構が大幅にリファクタリングできた、つう事。
0140デフォルトの名無しさん
NGNGオブジェクト指向信者どころか、普通のスキルすら怪しい板常駐煽りだろ。
そんな暇人相手にマジレスするあんた
カコ良過ぎ。
0141デフォルトの名無しさん
NGNGリファクタリング患者は、
なんらかの高等戦略を採って、結果としてリファクタリングできるようなのは大嫌いなんだよ。
患者にできることって言えば、ドキュメントも読まずに(集中力がない)
まずコード片と格闘してコードを使い物にならなくして、
それから必死にデバッグして、元の機能をなんとか復元する、
それがリファクタリングだと、堅く信じてるんだよ〜(プ。
ある種の拷問で、まず穴を掘らせ、次に穴を埋めさせる、また穴を掘らせて、(略)
つう非生産的な反復単純作業をやらせるのがあるらすぃ。
それやられると、たいていの人は、希望を失い、健康を害するらすぃ。
見通しもなく、まずコードをいじくりまわしちまうお猿さんってのは、
自ら進んで拷問を受けてるようなもん。
哀れだけど同情に値しない。
0142デフォルトの名無しさん
NGNG用語の誤り、誰も指摘しないのね。
ふつー、恒等変換て、無変換のことだろ。
リファクタリングが無変換じゃ、まるっきり話が通じねぇ。
もしかして、おまさんの逝ってるのは、
「等価な変換」じゃねぇ〜の?(プププ
0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG場の量子論や第二量子化における場、
を調整するイメージがあるな。
オブジェクト自身の定義よりも、
オブジェクトの間にある関係、相互作用こそが、調整対象ってな意味合いで。
すると、RDBでデータの関連を扱う(関係代数)つうのと、
連続性のある話になる。
結局、RDBとオブジェクト指向は、兄弟つうオチで。
0145デフォルトの名無しさん
NGNGRelational DBをObjectに無理にマッピングする(例:Oracle Business Class for Java(BC4J))んでなくて、
Relationalのより自然な表現形態でとしてのObjectってな観点から、
Relational DB と Object DBの融合を図るのはいかがでしょうか?>> O-R mappingマニアの皆様
0146デフォルトの名無しさん
NGNG再因子化
0147移動中の暇つぶし材料
NGNG同じことが、匿名掲示板にも当てはまる。例えば
ヴォケ >>143-145
突っ込み >>146
どっちの方が、優れた洞察力が必要か、皆さんにはもうお判りだろう
0148デフォルトの名無しさん
NGNG0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGリファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
Rename Methodだって、立派なリファクタリングであって、どういう名前に変えるかは可読性で決まるんだよ。
知ったかヒッキー君の脳内「リファクタリング」ではどうだか知らないけどね。
0156移動中の暇つぶし材料
NGNG前レス欲嫁ってんだ
0157移動中の暇つぶし材料
NGNG大体、名称変更みたいな幼稚な例出すセンスが笑える。
基礎ができてないオブジェクト指向信者(自称最先端、実はそろそろ遅れ気味)って、
話がおもしろくねぇんだよ。
0158移動中の暇つぶし材料
NGNGも、もしかして、命名変更も手でやってるの?
0159デフォルトの名無しさん
NGNG>>156は、また適当にデタラメ書いて煽って逃げたようですw
0160デフォルトの名無しさん
NGNG>>156、>>157は、>>155をまったく否定できておらず、ブザマにいきり立って吠えてるだけ、
ということだ。
0161デフォルトの名無しさん
NGNG>>156
>>155は、また適当にデタラメ書いて煽って逃げたようですw
0163デフォルトの名無しさん
NGNG> >リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
> も、もしかして、命名変更も手でやってるの?
論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。
それとも、自作自演の失敗かな?(そして本人は成功したつもりなのが>>161。)
0164デフォルトの名無しさん
NGNG> 知ったか論理厨が暴れてるな。
うぜぇーよ、自称実践派。前レス欲嫁ってんだ (>>156)
> リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
表明やユニットテストは、リファクタリング前後の等価性を保証するための仕様記述と考えろ。
> Rename Methodだって、立派なリファクタリングであって、どういう名前に変えるかは可読性で決まるんだよ。
可読性最優先のリファクタリング一派(Mrtin Fawlerがボス)、激しくイラネ。
大体、名称変更みたいな幼稚な例出すセンスが笑える。
基礎ができてないオブジェクト指向信者(自称最先端、実はそろそろ遅れ気味)って、
話がおもしろくねぇんだよ。 (>>157)
> 知ったかヒッキー君の脳内「リファクタリング」ではどうだか知らないけどね。
>>156: 移動中の暇つぶし材料 (HN欲嫁)
うぜぇーよ、自称実践派。前レス欲嫁ってんだ (>>156)
とりあえず、>>155=>>160は、子供の喧嘩を始めたいらしいですw (>>162)
0165デフォルトの名無しさん
NGNGどうでもいいけど、スレ番じゃなくてレス番だよ
0166デフォルトの名無しさん
NGNG>>157
> 論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。
正直、いみふめな寝言は寝て掻け、って感じw
とりあえず、意味不明な>>157の相手をしちゃる、と:
>>157が言うには、論理は使えない(?)とかいう話なんで、
・今後>>157は条件式もbooleanも使うのやめて、
全部文字列比較と数値比較で処理を掻くこと。
・仕様と実装、テスト結果の一貫性を論理的に示すと、
>>157のポリシーに反する事になる。
従って、今後>>157は自分の掻いたプログラムの正当性を主張する
事ができなくなる。
・そもそも、>>157の議論には、一切の論理性が保証されないので、
以降 >>157はスルーの方向でw
0167166
NGNG>>163
> 論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。
正直、いみふめな寝言は寝て掻け、って感じw
とりあえず、意味不明な>>163の相手をしちゃる、と:
>>163が言うには、論理は使えない(?)とかいう話なんで、
・今後>>163は条件式もbooleanも使うのやめて、
全部文字列比較と数値比較で処理を掻くことw
・仕様と実装、テスト結果の一貫性を論理的に示すと、
>>163のポリシーに反する事になる。
従って、今後>>163は自分の掻いたプログラムの正当性を主張する
事ができなくなるw
(やっぱ、ポリシーは大切だしねw)
・そもそも、>>163の議論には、一切の論理性が保証されないので、
以降 >>163はスルーの方向でw
0168デフォルトの名無しさん
NGNGリアルでの論理の実践はとんと通じないことを
そこまで徹底的に実証しなくてもよいのに。。。
あと、「スレ番」間違いすぎだよ、論理を使えないけど論理好きの君。
0169デフォルトの名無しさん
NGNG(´-`).。oO(なんで「論理は実践で使えない」と妄想する人がリファクタリングスレに粘着するんだろう?)
(´-`).。oO(なんで>>163は「ウソツキのクレタ人」なんだろう?)
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG0172デフォルトの名無しさん
NGNGしかも主張内容がハチャメチャ。論理は実践では使えない、つう>>163は、
ご自身の主張を、「論理を一切使わずに」どうやって主張するつもりなんだろう・・・?!
なんか、かわいそうになってきた
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG(´-`).。oO(>>163は、どんな経験に基づいて、論理は実践では使えない、と結論したんだろう?)
0175デフォルトの名無しさん
NGNG(´-`).。oO( 例示によるプログラミングレス・プログラムでも使うのかな?)
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG論理を一切使わずに、リファクタリングを実践する、超人プログラマが発生したスレに
記念カキコ
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGこくごのおべんきょうをさぼっちゃだめだよ。あと、どうとくもね。
それから、おいしゃさんにいって、わいじーのいー(えーじーがたかいけど)といって
そうだんにのってもらおうね。
0181デフォルトの名無しさん
NGNGれすしてあげたから、おとなしくしようね
(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)(・∀・)
0182新興宗教「リアルでの論理の実践はとんと通じない」教,誕生の瞬間
NGNG> 158 :移動中の暇つぶし材料 :04/04/22 02:08
> >リファクタリングが簡約なら、なんで表明だの単体テストだのをわざわざ用意して人間が手でやるんだよ。
> も、もしかして、命名変更も手でやってるの?
論理が大層お好きなようだが、リアルでの論理の実践はとんと通じないようだ。
それとも、自作自演の失敗かな?(そして本人は成功したつもりなのが>>161。)
168: デフォルトの名無しさん 04/04/22 02:42
自らわざわざ、
リアルでの論理の実践はとんと通じないことを
そこまで徹底的に実証しなくてもよいのに。。。
あと、「スレ番」間違いすぎだよ、論理を使えないけど論理好きの君。
0183新興宗教「リアルでの論理の実践はとんと通じない」教,誕生の瞬間
NGNG深夜に、いたいけな小学生使って
新興宗教「リアルでの論理の実践はとんと通じない」教
の普及活動してるとは。。。
・・・児童福祉法違反で摘発されないのかぁ〜?w
で、信仰内容が随分難解だね、
「リアルでの論理の実践はとんと通じない」?
なにこれ?日本語なの?
分かち書きすると
「リアル での
論理の 実践
はとん と 通
じない」??
5・7・5・3か。自由形式の俳句かな?
「リアル での 論理の実践派 豚と通じない」??
「リアル での 論理の実践 鳩 んと 通じない」??
宗教でおかしくなっちゃった人の発言は、難解だな。
0184デフォルトの名無しさん
NGNG(´-`).。oO(>>163が言う論理って、どの論理なんだろう?俺様論理?古典論理?)
(´-`).。oO(>>163は、どんな経験に基づいて、論理は実践では使えない、と結論したんだろう?)
0185デフォルトの名無しさん
NGNG・((省略された)主語「きみは」)論理が大層お好きな 述語1「ようだ」が、
リアルでの論理の実践はとんと通じない 述語2「ようだ」。
・論理を 体言修飾1「使えないけど」 体言修飾2「論理好きの」 体言「君」。
0186デフォルトの名無しさん
NGNG深夜に、いたいけな小学生使って
新興宗教「リアルでの論理の実践はとんと通じない」教
の普及活動してるとは。。。
・・・児童福祉法違反で摘発されないのかぁ〜?w
で、信仰内容が随分難解だね、
「リアルでの論理の実践はとんと通じない」?
なにこれ?日本語なの?
分かち書きすると
「リアル での
論理の 実践
はとん と 通
じない」??
5・7・5・3か。自由形式の俳句かな?
「リアル での 論理の実践派 豚と通じない」??
「リアル での 論理の実践 鳩 んと 通じない」??
宗教でおかしくなっちゃった人の発言は、難解だな。
0187デフォルトの名無しさん
NGNGhttp://dictionary.goo.ne.jp/search.php?MT=%A4%C8%A4%F3%A4%C8&kind=jn
0188デフォルトの名無しさん
NGNG記念カキコ
0189デフォルトの名無しさん
NGNG(´-`).。oO(なんで「論理は実践で使えない」と妄想する人がリファクタリングスレに粘着するんだろう?)
(´-`).。oO(なんで>>163は「ウソツキのクレタ人」なんだろう?)
(´-`).。oO(>>163が言う論理って、どの論理なんだろう?俺様論理?古典論理?)
(´-`).。oO(>>163は、どんな経験に基づいて、論理は実践では使えない、と結論したんだろう?)
(´-`).。oO(論理を否定するプログラマ?ってどんな言語を使ってどんなコードを書くんだろう?)
(´-`).。oO( 例示によるプログラミングレス・プログラムでも使うのかな?)
0190デフォルトの名無しさん
NGNGでも、ひとにめいわくをかけることは、やっちゃだめだよ。
0191デフォルトの名無しさん
NGNG∧_∧
( ・∀・) ))
/つ( ̄`ヽO_ノ⌒ヽ
ノ ) \ ))
(__丿\ヽ :: ノ:::: )
丿 ,:' ))
(( (___,,.;:-−''"´``'‐'
∧_∧
( ・∀・ ) < おやすみ〜
/ _ノ⌒⌒⌒`〜、_
ε( ̄⊂人 //⌒ ノ ヽ)
⊂ニニニニニニニニニニニニニニ⊃
0192デフォルトの名無しさん
NGNG反駁するためだけのレスしかない。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGざっと見たけど、この電波基地は50あたりから延々と粘着とジエンを続けてる模様。
夕べは、突っ込みにさくっと致命傷を食らって断末魔の叫びをあげたようだが、さすがに恥ずかしくてこのスレにはもう来れまい。
0196デフォルトの名無しさん
NGNG直接会って話つけたらどうだ?>粘着電波
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG最期にネットでこれだけ目立てて本望じゃろうて (-人-)チーん
0200デフォルトの名無しさん
NGNG仮に別スレにしてもだれもupしないと思うな。理由は>>104とか>>105とか。
0201デフォルトの名無しさん
NGNG「鉛筆で書かれた極秘文書をTexで清書するから晒して」
って言ってるようなもんだからね。
0202デフォルトの名無しさん
NGNGの方がよかったな
0203デフォルトの名無しさん
NGNG場の量子論や第二量子化における場、
を調整するイメージがあるな。
オブジェクト自身の定義よりも、
オブジェクトの間にある関係、相互作用こそが、調整対象ってな意味合いで。
すると、RDBでデータの関連を扱う(関係代数)つうのと、
連続性のある話になる。
結局、RDBとオブジェクト指向は、兄弟つうビジョンでw
0204デフォルトの名無しさん
NGNG関係、相互作用こそが、調整対象であるという仮説の妥当性はさておき、
そこから、それがRDB(関係代数)と連続的な話であるという結論は
飛躍が過ぎませんか?
0205デフォルトの名無しさん
NGNG喩えるなら、もうちょっと一般社会を想定した言葉で言ってくれる?
0206デフォルトの名無しさん
NGNGえ、素粒子物理〜メゾスコピック物理の経験者向けな話だから、
今はきみらは理解しなくていいんだよ。
俺の知ってる範囲では、
物性研出身者で、そんなような類いの思考をしてる人が居たな。
>>204。
そっちは、さほど飛躍してない方の話だよw
物理屋の洞察って、だいたいそんな感じの飛躍が話が多いんだ。
複数の対象や理論の間に、直観的に、なんらかの関連がつけられて、
その関連付けの詳細は、単なる退屈な事務作業だから、
後で数学屋や工学屋に決着付けてもらうことにして注意深く放置。
で、自分は、本当に解決すべきコアな問題に専念、てな感じ。
・・・そーゆーことやると、工学屋は凄く嫌な顔するけどね〜飛躍し過ぎって。
でも、仕事の分担が違うんだから、しょうがない。
0207デフォルトの名無しさん
NGNG変数の名前変更上げちまうような幼稚園生にナニを言っても、
馬の耳に念仏、
0208デフォルトの名無しさん
NGNG末永く電波を発信し続けましたとさ。ちゃんちゃん。
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGいゃ〜、春だねぇ。なんか、ソニー板で見たことある悲惨な気違いが、
春の陽気につられて、地べたからはいずり出してきちまったよ。
彼を見分けるのは簡単!
1. キーワード「悲惨」「リアル生活」「気違い」「自爆」
2. 行動 平日昼間から、2ちゃん三昧の日々。
職場から書いてるとは到底思えない。
自我が崩壊してる人物に特徴的な酔っ払いの喧嘩みたいな書き込みが特徴。
3. 振る舞い 何の脈絡もなく、相手に突然絡みだし、何週間も小汚い罵声を浴びせ続ける
0212デフォルトの名無しさん
NGNG>210みたいな「悲惨な気違いデムパ」アンチパターンを、
リファクタリングで改善しる!
0213デフォルトの名無しさん
NGNG措置入院が適切だと思われ。処置不能。
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNGそれもこれもみんな、引きこもりで非常識なスレ立てた >>1 の責任か、と。
0216デフォルトの名無しさん
NGNGマジレスすると、リファクタではなくリストラが必要。
振る舞い自体がバグなので、211=212=213=「悲惨」な「リアル生活」の「気違い」で「自爆」したモノの削除が必須かと。
0217デフォルトの名無しさん
NGNGなんでこのスレに粘着してるのか、それが謎。
「リストラ」も彼のトラウマなんだろうな。。。悲惨な人だ。
って事で、俺はワインなど嗜みながら、優雅にキティちゃんをリファクタリング中。。。
そーいや、キティちゃんの版権所有元の業務システムやってる会社が、
求人募集してたけどw、キティ繋がりで >>216、応募してはいかが?
最低限J2EE技術は必要だけど、ヲーターフォールでダラダラ仕事してるみたいだから、
あんたの能力に最適かもよw
0218デフォルトの名無しさん
NGNGsageれ。2度とageんな。
0220デフォルトの名無しさん
NGNG身元確認のできるメールアドレス書いたら、紹介状送ってやるよ。
それで、おまえの悲惨な失業生活もジ・エンドな訳だがw
0221デフォルトの名無しさん
NGNGリファクタリングについて語らねぇなら うぜぇからsageろボケ
0222デフォルトの名無しさん
NGNG再就職先を紹介しようとしているわけだが。
それもこれも、このスレのガン=>>216をスレから排除するための、準備作業なんだがゲラゲラ
0223デフォルトの名無しさん
NGNG2ch 初心者な大学生が研究室で得た知識をぬるく吐きつつ煽ってるスレ。
0224デフォルトの名無しさん
NGNGちなみに、彼のご主人様は、家族を精神的にいたぶって自殺に追い込むのが趣味、とか
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG2ch初心者といわれて、雨増ネタかよ。(藁
wやめれ→ゲラゲラ の小学生的思考には笑わせてもらったから、ゲラゲラやめんなよ。
0227224
NGNGちなみに俺は十数年前、自殺者/事故死者が多発する某所に、
何も知らない一般人装って潜入してた事もあるんで、それ系への免疫はばっちし持ってる。
あそこは悲惨な現場だったな〜、名誉も地位もある人が、バタバタ死んでく不可思議。
監督官庁は、なんか気付いてた筈だけどw たしか、最近それ関係のニュースネタが出てたっけ。
例のノンフィクション・ライターも、社会正義派を装うばっかじゃなくて、
そーゆー人間のカルマが起こす悲惨な社会現象を扱えばいいのに、ねぇ。
0228デフォルトの名無しさん
NGNGはやく、メールアドレス知らせろよ。
おまえが社会復帰する最後のチャンスかもしれんゾw
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG,i':r" + `ミ;;,
彡 ミ;;;i
彡 ,,,,,、 ,,,,、、 ミ;;;!
,ゞi" ̄ フ‐! ̄~~|-ゞ,
ヾi `ー‐'、 ,ゝ--、' 〉;r'
`,| / "ii" ヽ |ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
't ←―→ )/イ < ミサイルが飛んできたって何だって
ヽ、 _,/ λ、 \ このスレは非戦闘地域です!!
_,,ノ|、  ̄//// \、 \_____________
_,,..r''''" | \`'/ /  ̄`''ー
| /\ /
0231デフォルトの名無しさん
NGNGなんなんだろう。
0232デフォルトの名無しさん
NGNG>>231は、この期に及んで、未だに傍観者装ってリファクタリングの話を振れない無能者。
どっちも逝ってよし。
今日はテレビの方がおもろいや。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGファウラーは,信頼できる人なのだろうかと疑ってしまう今日この頃.
うちの会社はOOの教育事業をいくらかしているが,「かれのblogの翻訳は
読まないように」「引用しないように」と御ふれが出ている(w
感覚的な意訳をしているなと思う箇所は間違っている場合が多い.
あの内容とあの翻訳を必要とする人のことを考えると
間違いがあってはならないと思うのだが・・・.
誤訳はしかたなくそのためレビューが大切になるわけだが,
翻訳している人は,日記の中で自分のことは棚に上げ
他の翻訳本の著者をバカ扱いしたり,
感覚的に幼稚な批判や批評が多く,
あれではまともな人は相手をしなくなり,
まともなレビューも行われないと・・・・.
ファウラーを身にまとうことで強くなったと勘違いをしてあのような物言いに
なってしまう気持ちもわかるのだが,
この業界,皮肉屋や貶し屋が多いことが仕事を楽しめなくしてしまっている
一面があると思われ,ファウラーの思いがどうであれ,じつにむなしい.
0235デフォルトの名無しさん
NGNGレスがよれてるよ。支離滅裂。
> あれではまともな人は相手をしなくなり,
ミミが痛いっす。
0236ミナツキ サヤ ◆SAYAC2HJWE
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGオブジェクト嗜好を斜め上から眺めてる俺には、
マニヤの皆様の感覚がよーわからん。
もしかして、XP人気と「難解」アナパタのお陰で、教祖になっちまったの?
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNGどちらのオフィスの方でしょうか?
念のため、お聞かせください。
なお、あなたのおっしゃること、
わたしはよく知らないのですが、非常に興味があります。
8月のOOシンポジウム、とりあえず出席しますんで、そこで
詳しいお話を伺う機会をいただけましたら、幸いです。
かしこ
0244デフォルトの名無しさん
NGNG逃げんなよ>234
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGつーか、ここに書いている時点で。
0247デフォルトの名無しさん
NGNG用語ばかり詳しい連中が自己顕示欲を満たすだけのスレになっちゃってるのが残念。
なんでそう教条的にしか物事を捉えられないのだろう。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNGだれもコードをupしないのでこうなりました。
現実的に考えれば、業務で書いてるコードを公開しても許される人間は限られるので
だれもupしないだろうな。ありえそうなのは、ソース公開しているフリーソフトぐらいか。
そんなに1のお題に固執するなら自分でupするよろし。
>>249
247は1のお題とスレの現状のギャップを言っているだけ。
表現があのとおりなのはリファクタリングの議論している奴らを貶めたいだけで
勉強不足かどうかは関係ないんじゃないか?
0251デフォルトの名無しさん
NGNGリファクタリングのスレじゃないの?
VB4で作ったアプリ(今でも現役)をVB.NETにリファクタリングしてくれる人を
募集中です。9期開発で(1期1年、年4回リリース)もう、ボロボロなのに
まだVB4で追加・改善するなんてイヤーーーーーーーーっ
02521
NGNG多分それはリファクタリングじゃなくてリストラクチュアリングだと思うけど、
でも、コードを晒しなさい。漏れがなんとかしてあげたいのです。
未熟だけど。
C++とJavaとPerl4しか触った事無いけど。
がんがります。あなたの為なら。
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGVB.NETも、将来VB4と同じ道を歩むかもしれないぞ?
せっかくの.NETなんだから、他の言語にしたら?
0255デフォルトの名無しさん
NGNGそんなことはない、VB.NETも捨てたものじゃないぞ。まあこれでも読んで考え直してくれ。
ttp://www.atmarkit.co.jp/fdotnet/vbcheer/index/index.html
ttp://pc5.2ch.net/test/read.cgi/prog/1084413094
0256デフォルトの名無しさん
NGNGいますぐ使うのやめたほうがいいよ。
0257デフォルトの名無しさん
NGNGリストも扱えないし。
まあ使わないにこしたことないな。
0258デフォルトの名無しさん
NGNGその記事書いた奴キモイな。
関係ないがVBScriptとVBって構文違うのな。
WSH書いててアホらしくなった。
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGVB=クソ言語だというのがわからないのか。
ま、VB厨にはわからないんだろうな。
納得。
02611
NGNGその記事の「VBがC#やJavaより冴えている1つの理由」に
「switchのcase節ごとのbreak記述が要らない」旨が記述されていました。
きっとそのくらいしか有利な事が無いんだろうと思った。
きっと、VB厨を装ってVBを貶めようとしてんだと思うよ。
0262デフォルトの名無しさん
NGNG別に問題ナカロ?
こぼらもいまだに残ってるし
0263デフォルトの名無しさん
NGNGしてないからってやらせてもらえねーよ。
糞コード書いて怒られるのは納得だが、糞コード
書かないから怒られるっていうのはたまらん。
0264デフォルトの名無しさん
NGNGうpしてみたら?
02651
NGNG02661
NGNG0267デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNGリファクタリングの観点からすれば大域変数を扱うのと大差無いと思うが。
0271デフォルトの名無しさん
NGNGつまり和訳本のP385〜から書いてある事だぞ。
>>267がヘボって事は、原著 Refactoring:Improving The Design of Existing Code
の著者がヘボって言ってるのと同じだな。>>268-270こそヘボ。
0272デフォルトの名無しさん
NGNG> >>267がヘボって事は、原著 Refactoring:Improving The Design of Existing Code
> の著者がヘボって言ってるのと同じだな。
これから
> >>268-270こそヘボ。
これがでてくるのはなぜだ?
0273デフォルトの名無しさん
NGNG頭悪いな。説明する気も起きんよ。
0274デフォルトの名無しさん
NGNGおまえの顔をリファクタリングしてやろう
0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNGクックックッお前も相当の粘着だな。これだからヘボは困る。
0278デフォルトの名無しさん
NGNG(A->B)->(not A->not B)
という論理が成り立ちます。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG残念、このスレ初参加です。あなたの外部インターフェイスは2chのみですか?
0281デフォルトの名無しさん
NGNG初参加で引き篭もりってあーた。。。超能力でもあるんですか?(;´Д`)
もしかしてあれ?部屋の中で一人でいると勝手に宇宙人の声が頭の中に
入って来たりしませんか?ププ
0282デフォルトの名無しさん
NGNGもういいよ…もういいんだ 君は十分がんばった
0284デフォルトの名無しさん
NGNG【いかにテスト要件がしっかりしていても】とは君が>>267の発言とは別に
勝手に付けたものだろ。
君が勝手に脳内補完したんだから、後は自分で考えろ。
0285デフォルトの名無しさん
NGNG>>271は>>268にレスしているよ。
0286デフォルトの名無しさん
NGNGならば
!B->!A
0287デフォルトの名無しさん
NGNG>>267=>>271って保証はどこにもないわけだが。
0288デフォルトの名無しさん
NGNGその通りだが、それがどうかしたのか?
0289デフォルトの名無しさん
NGNG頭悪いな。>>283の質問の理由がわからないっていう事だよ。
それと>>285の反証の理由と証拠もな。
0290デフォルトの名無しさん
NGNG救えねーな ププ
0291デフォルトの名無しさん
NGNG「教えない」じゃなくて「反証できません」だろ。言葉は正しく使えよカス。
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGなにテンパってんの?
いっぱいいっぱいで見てらんない。
0294デフォルトの名無しさん
NGNG>頭悪いな。>283の質問の理由がわからないっていう事だよ。
>>268に対して>271は否定的な意見を言っているだろ?
だから「なぜそう考えるのか」を>283では訊いているのだと俺は思った。
>それと>285の反証の理由と証拠もな。
>>271は>268の意見を否定しているように読める。
その理由を>283で聞くのはもっともだが、それに対して>284は
>君が勝手に脳内補完したんだから、
と言った。そこで俺は、>284は「>271が>268の意見を否定している」
という事実を見逃していると考えた。それで指摘したんだ。
つまり、>267は単なる議論のきっかけで、>268と>271の間で、
議論が行われていると俺は解釈した。
(>>が多すぎるといわれたので一部削った。)
0295デフォルトの名無しさん
NGNGこれを対偶とか言う奴は論理の初歩を学んだ方がいい。
0296デフォルトの名無しさん
NGNGだから俺は>>267でも>>271でもないっつーに。なにカッカしてんだよ。(藁
本当の理由は>>267さんなり>>271さんに聞いてくれよ。他人の尻ぬぐいまで
押しつけられちゃたまらんよ正直。
それからさ、【いかにテスト要件がしっかりしていても】は>>271の発言に対しても
君の脳内補完だぜ。よくやり取りを見ろよ。>>283で初めて出てきている要件だ。
それに対する君の詭弁は言葉の綾というか、君の言葉遊びのように見える。
>>295
>>271がヘボだという理由を明確にしてから議論してくれないかね?一連の流れ
を見ていると、その点に関する考察がすっぽり抜けている。
0297デフォルトの名無しさん
NGNG×>>271がヘボ
○>>267がヘボ
>>267がヘボという理由は多分、【いかにテスト要件がしっかりしていても】
を勝手に脳内補完して言っているだけだろう。>>267自体は別にヘボとも
思えない。
0298デフォルトの名無しさん
NGNGポインタや参照オブジェクトを内包したクラスなんかは
エイリアシングとかの問題が厄介で、外部仕様だけテストしても
だめな場合がある。だからリファクタリングするのは厄介、といってる。
ポインタを駆使していたら対象外とはいってない。
実行コードやオブジェクトのレイアウトに依存したコード、
たとえばvtblの位置や、ポインタ演算で強引にメンバやメンバ関数を特定してる
ようなコードは、継承関係が変わると動かなくなる可能性が高いんで、
リファクタリングするのは危険だ、といってるだけ。
その辺を注意してやる分には問題ないだろ。
そこまで読めないやつがヘ(ry
0299デフォルトの名無しさん
NGNG当たり前の事を偉そうに書くなヴォケ。
03001
NGNGそれって「テスト要件をだすことが出来ない(困難である)」、ってだけなんじゃね?
「vtblの位置や、ポインタ演算で強引にメンバやメンバ関数を特定してるようなコード」
であっても、そのことがきちんとテスト要件にあげてあれば、
普通にリファクタリングの対象となりそうな気がする。
つまりvtblの位置が変わらないように注意しながらコードの書き直しを行うのであり、
同じメンバを呼び出せるようにポインタ演算を行うんだろ。
あるいは、vtblの位置とかがテスト要件になく、単に「xxxxのメンバにアクセスする」
とだけ記述してある場合、それはvtblの位置が変わったって、そのメンバにアクセスできさえすればいいし、
そのようにリファクタリングする。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNGprotected なわけか、皮に
0303デフォルトの名無しさん
NGNG0304デフォルトの名無しさん
NGNGこのような場合リファクタリングすればよいですか?
0305デフォルトの名無しさん
NGNGテストは旧コードそのまんま。
新旧比較するテストコード書いて、UT&リファクタリング開始
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGint 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);
}
03101
05/02/09 07:24:21static 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;
}
0311デフォルトの名無しさん
05/02/09 07:34:350312デフォルトの名無しさん
05/02/10 08:58:560313デフォルトの名無しさん
05/02/11 06:43:11return d < 0 ? ' ' : 0 < d ? '+' : ' ';
0315デフォルトの名無しさん
2005/08/08(月) 23:26:330316デフォルトの名無しさん
2005/08/08(月) 23:33:54for(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()がダメぢゃね?
0317名無しさん@そうだ選挙に行こう
2005/09/11(日) 09:40:04少しぐらい汚くても多めにみてやれ。
相手のモチベーション下がっちまう。
0318デフォルトの名無しさん
2005/09/18(日) 23:10:260319デフォルトの名無しさん
2005/09/19(月) 09:49:56いまどき配列もポインタも吐くコードはかわらんから
>diff=*(tmp+i)-*(tmp+i-1);
diff = tmp[i] - tmp[i -1];
のほうがずっと読みやすい。
0320デフォルトの名無しさん
2005/09/21(水) 01:40:12diffいらね
0321デフォルトの名無しさん
2005/09/23(金) 05:01:35Dim bChkFlg as Boolean
bChkFlg = False
If文 Then
bChkFlg = True
End If
If bChkFlg = False Then
PrmChk = False
Else
PrmChk = True
End If
bChkFlg = False
......
以下ひたすらチェック
0322デフォルトの名無しさん
2005/09/23(金) 05:05:00PrmChk = False
If文 Then
PrmChk = True
End If
......
0323デフォルトの名無しさん
2005/09/23(金) 05:12:520324デフォルトの名無しさん
2005/09/24(土) 15:20:48もれなら sign が sign_char[] を返すようにするがな
0325ねた
2005/10/01(土) 20:37:36int 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;
}
0326こんな感じ?
2005/10/03(月) 01:56:32int 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;
}
0327クラス化してみた
2005/10/03(月) 15:55:48enum { 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;
}
0328クラス化してみた
2005/10/03(月) 15:57:570329クラス化してみた 1/2
2005/10/03(月) 15:59:21enum { 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;
}
0330クラス化してみた 2/2
2005/10/03(月) 16:00:36bool 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;
}
};
0331デフォルトの名無しさん
2005/10/03(月) 17:46:423ます3ますのこの場合はおなじ8回検査ってことになるけど
0332クラス化してみた
2005/10/03(月) 22:26:45それもありやね。ま、計算量的に問題なければどっちでもいいと思う。
>>332
最後のHantei()関数は外部に書くほうが class Board が生きてくるな。
内部データクラスに出力まで混ぜて書くのは設計上まずげ。
0333デフォルトの名無しさん
2005/10/04(火) 13:14:21int 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
}
0334デフォルトの名無しさん
2005/10/04(火) 20:03:17これのどこがリファクタリングなんだろうか・・・・・
0335デフォルトの名無しさん
2005/10/05(水) 04:32:39おもいくそ違っとるがな >333
精進せえよ
0336neta
2005/10/08(土) 17:58:16{
int i = 0;
while ( 1 ) {
if ( Judgement(i) > 0 ) {
Execute( i );
i++;
}
else {
break;
}
}
}
0337クラス化してみた
2005/10/08(土) 20:29:490338デフォルトの名無しさん
2005/10/09(日) 07:27:310339デフォルトの名無しさん
2005/10/18(火) 05:25:570340デフォルトの名無しさん
2005/10/19(水) 02:51:21scanf("%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);
0341デフォルトの名無しさん
2005/10/19(水) 18:02:080342デフォルトの名無しさん
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;}
0343デフォルトの名無しさん
2005/11/09(水) 02:10:280344デフォルトの名無しさん
2005/11/12(土) 19:03:05あとでこっそり修正するのもリファクタリングか?
0345デフォルトの名無しさん
2005/11/14(月) 03:01:13デバッキングもしくはリストラクチャリング
0346デフォルトの名無しさん
2005/12/21(水) 16:40:160347デフォルトの名無しさん
2005/12/21(水) 20:06:540348デフォルトの名無しさん
2006/01/07(土) 12:35:27{
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;
}
0349デフォルトの名無しさん
2006/01/08(日) 12:59:290350デフォルトの名無しさん
2006/02/13(月) 23:38:280351デフォルトの名無しさん
2006/02/14(火) 00:59:070352デフォルトの名無しさん
2006/02/14(火) 15:53:560353デフォルトの名無しさん
2006/02/14(火) 19:13:15int 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ってどっちなんだよ。
いや中間全部コメントだけどさ…
0354デフォルトの名無しさん
2006/02/14(火) 22:58:47クマー
0355デフォルトの名無しさん
2006/02/23(木) 02:02:32除去汁!
0356デフォルトの名無しさん
2006/06/21(水) 21:43:46http://up.spawn.jp/file/up25688.txt
0357デフォルトの名無しさん
2006/06/21(水) 22:10:45仕様が無けりゃリファクタリングなんてできないよ。
0358デフォルトの名無しさん
2006/06/22(木) 00:24:420359デフォルトの名無しさん
2006/06/22(木) 00:25:500360デフォルトの名無しさん
2006/06/22(木) 00:29:25配列は使ってない。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2119.txt
0361デフォルトの名無しさん
2006/06/22(木) 00:31:21暇だったら>>358をリファクタリングしてくれ。
0362デフォルトの名無しさん
2006/06/22(木) 10:08:05とりあえず配列と関数を使うようにしてみた。
( 暫定 )
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2142.cpp
0363356
2006/06/22(木) 19:48:32何の変哲も無いB木です。
データの追加と削除のみができます。
0364デフォルトの名無しさん
2006/06/22(木) 20:18:430365デフォルトの名無しさん
2006/06/22(木) 22:10:28仕様は?
0366デフォルトの名無しさん
2006/06/22(木) 23:29:06何かしらの問い合わせを持たないと、どんな実装でもテスト不能なわけだが。
0367デフォルトの名無しさん
2006/06/22(木) 23:53:15ただ面白みがないので、俺はやらんが。
0368デフォルトの名無しさん
2006/06/25(日) 20:37:58とりあえず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);
}
0369デフォルトの名無しさん
2006/07/27(木) 09:26:320370デフォルトの名無しさん
2006/10/31(火) 12:06:38してふと思ったこと。「クラスの抽出」で多量のメソッド
とデータがある場合、とありますが、(定)量的な目安なんか
は議論されているのだろうか。
0371デフォルトの名無しさん
2006/11/01(水) 01:52:31↓が適用できるんじゃないかな?
http://www.google.co.jp/search?q=%E3%83%9E%E3%82%B8%E3%83%83%E3%82%AF%E3%83%8A%E3%83%B3%E3%83%90%E3%83%BC+7
0372デフォルトの名無しさん
2006/11/01(水) 07:56:37ナールほどね。こういう方面からのアプローチもあるね。
でもソフトウェアエンジニアリングプロパーでの議論
とかOO業界での論議とかは、ちょっと見当たらない。
知ってる人がいたら教えて。なんかベックの未邦訳
の論文でちらっと読んだ気がするんだけど。。。
記憶違いかも。
0373デフォルトの名無しさん
2006/11/18(土) 17:59:10アウトプットは同じでいいの?
0374デフォルトの名無しさん
2006/11/18(土) 18:00:46「複雑すぎる、どないかせぇ!」ってよく怒られます。
>>370
なんか関係ありかなぁ
0375デフォルトの名無しさん
2007/04/12(木) 23:25:520376デフォルトの名無しさん
2007/04/13(金) 00:33:09マクロ使いまくり。
ttp://up2moe.moe.hm/img/q927.txt
■ このスレッドは過去ログ倉庫に格納されています