★初心者以前の質問に雪崩のように答えるスレ★

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2013/10/05(土) 10:44:57.99
>>951
重要なのはグローバルかどうかじゃなくて、他のモジュールの動作に影響を与えるかどうか。
vectorなど、データ構造をサポートする機能はがんがん使うべき。
953デフォルトの名無しさん:2013/10/05(土) 11:17:21.45
>>952
ごめん、ちょっと舌足らずだった...orz

原理原則を重視して、クラス外部でインスタンス化されたオブジェクトは、ゲッタを利用して取り込まない限り使用すべきではないのか
です...orz

ゲッタを使って取り込むにしても、VBScriptみたいな変数に型のない言語の場合だと、結果は一緒だしとか...
でも、変数に型のある言語ではゲッタで取り込むほうが、潰しが利くしとか...
たけども、そもそもシステム側で用意されてるようなオブジェクトなら、どこで使用しても一緒じゃんとか...

そもそも、カプセル化についての勉強をもう一度やり直すべきなのだろうか...orz
954デフォルトの名無しさん:2013/10/05(土) 12:04:20.84
>>953
原理原則を重視して困る事態でなければ重視すべき。
具体的に困る状況があるなら説明せよ。
955デフォルトの名無しさん:2013/10/05(土) 12:53:33.11
>>954
コードの冗長化につながる場合も有り得る
難読化につながる恐れがでる
956デフォルトの名無しさん:2013/10/05(土) 16:31:06.88
>>953
アクセサメソッドとシングルトンがごっちゃになってる。
基本的に各メソッドは引数とthisのフィールドから得られる情報だけで作業を終えるべき。
純粋関数ならなおよし。
957デフォルトの名無しさん:2013/10/05(土) 17:26:20.14
論理積代入演算子ってどういうときに使うの?
958デフォルトの名無しさん:2013/10/05(土) 17:29:14.12
>>957
ビットマスク
959デフォルトの名無しさん:2013/10/05(土) 17:48:32.24
なるほど画像処理に使うのか
ありがとうございます
960デフォルトの名無しさん:2013/10/05(土) 18:08:34.85
画像に限らんけど、特定のビットをオフにしたい時使うよね
最近はフラグにビット使うこと少ないんかな
961デフォルトの名無しさん:2013/10/05(土) 18:21:43.72
それは排他的論理和じゃない?
962デフォルトの名無しさん:2013/10/05(土) 18:31:37.91
XORでどうやるのか書いてみw
963デフォルトの名無しさん:2013/10/05(土) 18:32:06.75
if (n & x) n ^= x
n &= ~x
両方できる
964デフォルトの名無しさん:2013/10/05(土) 18:32:29.87
排他的論理和(xor)はビットの0/1をスイッチしたいときに使う
965デフォルトの名無しさん:2013/10/05(土) 20:49:13.56
そんな当たり前のこと言われましても
966デフォルトの名無しさん:2013/10/06(日) 05:11:38.43
>>951-953
ゲッターなんて関係ないと思う
システムに1つしかない、他のアプリと共通で使うシステム・オブジェクトは、
システムが用意した、Win32APIなどのグローバル関数で操作する

例えば、赤い枠の4角形を描く、draw関数を作る
Win32APIで、GDI、Pen、Brushオブジェクトなどを使うには、
(関数名は適当につけた)
赤くて細いペンを作る
pNewPen=CreatePen(赤くて細い)

そのペンをシステムにセット
その時にセットされていた、古い(元の)ペンを取っておく
pOldPen=SelectObject(pNewPen)

新しいペンを使って、4角形を描く
元のペンに戻す
ret=SelectObject(pOldPen)
967デフォルトの名無しさん:2013/10/07(月) 14:43:36.75
>>955
ちょっと具体的なコードが思い浮かばない。
その冗長になって難読化するのは、原理原則に則ったせいではなくて、無能なせいなんじゃないか?
難解になることを回避できないコードを披露してくれ。

可能ならば、そのグローバルなオブジェクトを外から与えるべきだ。中から取りに行くのではなく。
例えばデバッグログ出力をコンソール出力するコード(printf() だの System.out.println() だの)を直接書くよりも、大抵の処理系にあるストリームオブジェクトを渡してそこに出力させるべきだ。
すると出力先をファイルにしたい場合にも便利だ。

簡潔に言うと >>956 と同じ。
968デフォルトの名無しさん:2013/10/08(火) 15:17:38.19
exprって何て読むの?
イーエックスプァ〜?
エキスパー?
エクスプレ?
969デフォルトの名無しさん:2013/10/08(火) 16:05:27.13
俺の心の中ではエクスプラと読んでるけど、その手の略語に正しい読みなんて存在しないので、好きに読んでください
ちなみに expression の略ね
970デフォルトの名無しさん:2013/10/08(火) 17:06:59.49
えくすぷぉー
ぉーは regarde の r と同じ
971デフォルトの名無しさん:2013/10/09(水) 10:06:07.60
どうやら私は「えくすぷれ」と読んでるようだ。
972デフォルトの名無しさん:2013/10/09(水) 16:09:11.18
モジュールとオブジェクトって何が一番違うの?
ごっちゃになってよくわからん
973デフォルトの名無しさん:2013/10/09(水) 16:11:26.55
>>972
言語は何?
974デフォルトの名無しさん:2013/10/09(水) 16:14:27.39
一番違うのは名前じゃね?
975デフォルトの名無しさん:2013/10/09(水) 16:17:39.20
あとクロージャとラムダ
何が違うんだ??
976デフォルトの名無しさん:2013/10/09(水) 16:20:38.88
>>973
OCaml
977デフォルトの名無しさん:2013/10/09(水) 16:22:58.59
>>975
ラムダは記法、あるいは算法
クロージャはオブジェクト
978デフォルトの名無しさん:2013/10/09(水) 20:59:36.28
>>976
オブジェクト: クラス
モジュール:型クラス
979デフォルトの名無しさん:2013/10/10(木) 17:35:15.98
多態性ってつまりはどういう事?
ダックタイピングって事?
980デフォルトの名無しさん:2013/10/10(木) 19:17:30.55
多態性とは、同じメッセ―ジ(メソッド)を送っても、対象オブジェクトの種類(クラス)によって、様々に異なる振る舞いをすること
981デフォルトの名無しさん:2013/10/10(木) 19:27:01.64
>>978
モジュールってむかしからある一般的なコンピュータ用語だよ
特定の言語では、意味がことなったりする

モジュールのことをコンポーネントとかいうから憤慨したことがある
982デフォルトの名無しさん:2013/10/10(木) 23:10:07.21
>>980
それだけ見るとなんか思ってもみない振舞いする事が
多々ありそうだけど
そんなの制御できんの?
983デフォルトの名無しさん:2013/10/10(木) 23:17:39.13
>>981
レス先間違えてないか?
984デフォルトの名無しさん:2013/10/11(金) 00:41:04.87
メソッドの定義があるのは、メッセージの送り側ではなく受け側
985デフォルトの名無しさん:2013/10/11(金) 09:35:16.74
>>982
>それだけ見るとなんか思ってもみない振舞いする事が

テストが雑だとそうなる。
まあ趣味なら、テストは好みのレベルまでやればいいからね。
986デフォルトの名無しさん:2013/10/11(金) 10:33:00.35
Printfデバッグって
よくやる事なんでしょうか?
プロの現場見た事無い独学者だから
どうデバッグやってるのかわかんね
987デフォルトの名無しさん:2013/10/11(金) 11:40:10.77
coders at work という本でいろんな開発者にインタビューした結果を見ると、人によりさまざま。
何でもprintfデバッグ、という人もいれば、printfデバッグはしないでデバッガを使う、という人もいる。
988デフォルトの名無しさん:2013/10/11(金) 12:43:44.26
Xamarin Windows用インストーラーなんですが、すでにJDKが入っていてもインストーラーが再度ダウンロード始めます
元から入っているJDK使ってほしいのですが、どこかに設定項目ありますか?
989デフォルトの名無しさん:2013/10/11(金) 13:22:06.63
>>986
武器がない時でも素手で戦う それがプロ

デバッガでやることの9割は
「ここほんとに通ってるの?」「ここでこの値何が入ってんの?」だから
それを表示させるだけ

それで対応できない時は仕方ないからコード本体を書きなおしたりもする
990デフォルトの名無しさん:2013/10/11(金) 14:28:41.49
>>989

>デバッガでやることの9割は
>「ここほんとに通ってるの?」「ここでこの値何が入ってんの?」だから
>それを表示させるだけ


まさにそういうのが聞きたかった
プロの現場を知らないから
何か特別な事をやってるのかと勝手な想像してたが
やはり愚直なトライアンドエラーに落ち着くんだな
991デフォルトの名無しさん:2013/10/11(金) 14:31:26.26
ユニットテストとかしてもいいけど
992デフォルトの名無しさん:2013/10/11(金) 15:56:08.62
>>990
デバッグは、フォレンジックと共通部分が多い。
バグ探しか、犯人探しかの違い。
993デフォルトの名無しさん:2013/10/11(金) 16:59:58.27
>>987
printfのときもあるし
ログファイルにfprintfのときもあるし
シリアルポートに出力のときもある
要するに内部状態が判れば良い
994デフォルトの名無しさん:2013/10/11(金) 20:29:44.93
次のスレッドをお願いします。
995デフォルトの名無しさん:2013/10/11(金) 20:55:30.76
早くアレ立てて
996デフォルトの名無しさん:2013/10/11(金) 21:11:36.19
立つ前に埋めるか
ume
997デフォルトの名無しさん:2013/10/11(金) 21:38:57.07
ウメッシュ
998デフォルトの名無しさん:2013/10/11(金) 21:52:45.97
http://www.ustream.tv/recorded/9195443
これ見たら東大の3年生でもPrintfデバッグ
やると言う発想は2001年当時になかったみたいだな
999デフォルトの名無しさん:2013/10/11(金) 22:03:55.11
埋め
1000デフォルトの名無しさん:2013/10/11(金) 22:07:18.52
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。