トップページ > プログラム > 2014年08月30日 > fktBCnc4

書き込み順位&時間帯一覧

6 位/249 ID中時間01234567891011121314151617181920212223Total
書き込み数2100000000001000000011006



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
720
813
723
オブジェクト指向なんて今すぐやめてください
クラス名・変数名に迷ったら書き込むスレ。Part24
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】

書き込みレス一覧

オブジェクト指向なんて今すぐやめてください
813 :デフォルトの名無しさん[sage]:2014/08/30(土) 00:21:42.32 ID:fktBCnc4
>>811
>>810 では「C言語のmanではintもfloatも"object"だ。」とあるけど、
この "object" のクラスとメソッドは何か説明できる?
またCコンパイラの吐く "object"、いわゆる拡張子が *.o なバイナリファイル、
この "object" のクラスとメソッドは何か説明できる?

これらが >>810 で書いた「一般的な文脈」を指す
こうした文脈における "object" の意味と
オブジェクト指向に関する文脈における "object" の意味は異なるだろ?って話だ
クラス名・変数名に迷ったら書き込むスレ。Part24
723 :720[sage]:2014/08/30(土) 00:45:18.22 ID:fktBCnc4
>>722
見たいというのなら、見せてあげようw
http://play.island.ac/codepaste/code?id=1592

命名について、それが必要とあれば名前の長さは気にしない主義なので、
こういったクソ長い名前を平気で書いている
(ただし、数学的なアルゴリズムを表現するコードであれば、
 x y z i j k といった1文字の名前も平気で使う)
なお、これでも80桁のターミナル幅を越えていない
(正確には vim で行番号表示しているから76桁以内になる)

仕事では UNIX C がメインだけど、C でも同じスタイルだね
過去に他人から長過ぎるという指摘(苦情?)を受けるといった記憶は無い
オブジェクト指向なんて今すぐやめてください
815 :813[sage]:2014/08/30(土) 01:01:32.44 ID:fktBCnc4
細かいけど、冒頭にあるアンカのミスを訂正

X:>>810 では「C言語のmanではintもfloatも"object"だ。」とあるけど、
O:>>808 では「C言語のmanではintもfloatも"object"だ。」とあるけど、
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
91 :デフォルトの名無しさん[sage]:2014/08/30(土) 12:42:50.26 ID:fktBCnc4
>>87
自己紹介乙w、ついでに添削しとくね

> 私のIT技術への興味の薄れは半端ない
> つまり、私にとってIT技術さほど重要なものではなくなってきた

板違いだから、続けたいならマ板へ逝きなされ

あと IT は "Information Technology" の略語だよ
「馬から落馬した」みたいな言葉を平気で使う
森元総理みたいなIT音痴はプログラマには向かないと思うね
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
102 :デフォルトの名無しさん[sage]:2014/08/30(土) 20:40:39.56 ID:fktBCnc4
>>97
class Command
  attr_accessor :do, :undo
  def initialize
    @do = proc do end; @undo = proc do end
  end
end
class Journal
  attr_accessor :redo, :undo, :do_it
  def initialize
    @redo = proc do end; @undo = proc do end
    @do_it = proc do |command|
      command.do[]; undo = self.undo; redo_ = self.redo
      @undo = proc do
        command.undo[]; @undo = undo
        @redo = proc do
          command.do[]; @redo = redo_
        end
      end
    end
  end
end
active_journal = Journal.new
hello_command = Command.new
hello_command.do = proc do puts "Hello" end
hello_command.undo = proc do puts "Bye" end
active_journal.do_it[hello_command]
active_journal.undo[]
active_journal.redo[]
クラス名・変数名に迷ったら書き込むスレ。Part24
735 :723[sage]:2014/08/30(土) 21:32:21.08 ID:fktBCnc4
>>730
双方向グラフを表現する総称的なクラスライブラリとして設計すれば改善されるけど、
ある目的で「正しく動く」ことを優先して設計したから
力任せで冗長なコードになってしまった、というのが率直な言い訳


>>731
もうかれこれ20年以上前、Smalltalk-80 や NeXTSTEP はもちろんのこと、
OSF/Motif や X-Window System も名前を省略しないなかったからねぇ
自分も省略しなければ周囲も省略しないから、そんなもんだと思っていたよ

とはいえ、当時の社内の別の職場では xmt_msg_blk() とか mak_cfg_tbl()
みたいな三文字省略語を使っていたから、「方針の一貫性」が大切なんだと思う
あなたはどちらをお好みですか?という選択だから、好きな方を選べばいい
(ちなみにxmt_msg_blk() と mak_cfg_tbl() を省略せずに書くと、
 transmit_message_block() および make_configuration_table() になる)

あと、>>723のコードも見れば分かるように、前置修飾子(プレフィックス)には
省略した同義語(シノニム)を積極的に使っている
たとえばモジュール名の MOLA は Model::Object::Logial::Abstraction の省略形で、
変数名の mo_xxxx は Model::Object 下のインスタンスを表している(>>63,81 も参照)


>>734
自分は短く省略してコメントを書くくらいなら、迷わず長い名前で書くね
たしかこれは「プログラム書法」という書籍の教えだったと記憶している


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。