タグ

programmingとoopに関するhiromarkのブックマーク (10)

  • クラスの命名のアンチパターン - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 昔から「名は体を表す」と言ひます。クラスの名前がクラスの果たす役割と一致してゐるかどうか常に考へ続けませう。 ImageInfo, AccountData, etc. Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん?? FooInfo や FooData よりも好ましいかもしれない名前の例: FooAttribute, FooProperty, FooMetadata, FooDescription FooConfiguration, FooSetting, FooParame

    クラスの命名のアンチパターン - Qiita
  • テスト先に書きたい若者よ - hitode909の日記

    弊社では毎年インターンを受け入れているのだけど,いまもインターンが来てて,テスト先に書きたいけど油断すると先に実装を書いてしまう,とか話してた. 個人的には,テスト先に書くのが大事というよりかは,意識して仕様を先に考えるのが大事だと思っている.テストを先に書くと,先に仕様を考えざるを得ないので,良いスタイルが身につく. 僕がよくやるのは,関連しそうなクラスの絵をひと通りノートに書いてみて,その図だけで,うまく動くことを説明できるくらい考えてみる.その時点でおかしかったら,コード書いてもおかしくなる.ノートに方眼ついてるとクラス図書きやすい.UMLとかじゃなくても,自分で見て分かるくらいでもいいと思う. 紙でうまくいったら,外部仕様だけソースコードに書いてみる.クラス名と,メソッドの定義と,メソッドの上くらいに,ひと通りコメントでも書いてみて,この関数はこういうことをするんです,こういう引数

    テスト先に書きたい若者よ - hitode909の日記
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
  • オブジェクト指向 v.s. 関数型プログラミング

    近年、関数型プログラミングの重要性はいろんなところで叫ばれています。 Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。 Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。 プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。 関数型プログラミングへの注目度は高まってきています。 おそらく、みなさんは既にオブジェクト指向が何か、を知っています。 でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。 実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、 関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。 この記事を読む方の中で、「関

    オブジェクト指向 v.s. 関数型プログラミング
  • 第4回 オブジェクト指向の本質 | gihyo.jp

    エンジニアとして良い仕事をするために必要なこと ソフトウェア業界で日米を往復しながら仕事をしていると、世界中のさまざまなエンジニアに会う。私のように「プログラミングを心底楽しんでいる」人から、「⁠新3K」(⁠きつい・厳しい・帰れない)を身をもって体験している人までさまざまだが、共通して言えることは、エンジニアとしての基礎がしっかりできている人とできていない人では、その生産効率に大きな開きがあり、それが結果的には、会社での労働環境や待遇に、そして結果として自分自身にとっての「仕事の充実度」に、大きな影響を与えているということである。 いつも締め切りに追われている、毎回バグで苦しんでいる、徹夜の連続で体力に限界がきているなど、「⁠仕事がきつい」理由はいろいろとあると思うが、会社や上司の悪口を言う前に、自分自身がプロフェッショナルなエンジニアとしてこの業界で勝負をするうえで必要な最低限の基礎がで

    第4回 オブジェクト指向の本質 | gihyo.jp
  • Cで実現する「ぷちオブジェクト指向」:CodeZine

    はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++Java、VB.NETさらにはRubyPythonといったスクリプト言語まで、オブジェクト指向でない言語を探すのに苦労するくらいです。 記事では、今なお現役バリバリで活躍している手続き型言語の代表格(?)Cによる、オブジェクト指向のマネゴト(オブジェクト指向風味のCコーディングスタイル)を試みます。対象読者 もっぱらCを主な開発言語として使ってはいるけども、オブジェクト指向に興味と憧れを抱いている方。抽象データ型 手始めにオブジェクト指向の特徴の1つ、「抽象データ型(ADT:Abstract Data Type)」をCで実現してみます。抽象データ型とは、データ

    hiromark
    hiromark 2007/02/14
    C で書くときっていつもこんな感じにしようと思って中途半端になっちゃうんだよなあ。もう一回ちゃんと勉強する。
  • 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス

    2006年11月16日16:55 カテゴリLightweight Languages オブジェクトは難しくない。難しいのはクラス 大人だからオブジェクトは難しくなる。子供にとっては実はオブジェクトは自然で自明で簡単だ。 オブジェクト指向を正しく理解する:ITpro オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。事実、オブジェクト指向というのは最初は子供向けだったのだ。 このことを、現在「オブジェクトとはなんぞや」という大人たちは忘れてしまっている。 それで、オブジェクトとは何か、といえば、「自分が何が出来る

    404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス
    hiromark
    hiromark 2006/11/17
    何度か読み返したいエントリ。
  • 今風の型理論入門(本編) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    前ふりは「型→代数→…それから:型理論入門(の前半)」にあります。これは編(後半)。1回読み切り(長いけど)で、比較的新しい*1型理論を紹介します。「入門(門に入る)」というよりは門の外から中を覗いてみる程度。 説明用コードはJavaの構文を使います。ただし、パッケージ宣言は書かないし、publicはなるべく省略。 内容: インターフェースなんて、所詮こんなもの 心理的効果とか、人間-人間コミュニケーションとかは、別問題 わけわからんインターフェースに制約を付加する もっと制約を足してみる 謎のインターフェースに意図されたもの で、それが型理論にどうつながるの? インターフェースなんて、所詮こんなもの まず、次のインターフェースを見てください。 interface AB { int a(); void b(); } これスゴイでしょ。何がスゴイって、これを見てもなんのことやらサッパリわか

    今風の型理論入門(本編) - 檜山正幸のキマイラ飼育記 (はてなBlog)
    hiromark
    hiromark 2006/02/20
    「型とは、インターフェース+制約だ」、おお!
  • 哺乳類クラスって言うなキャンペーン - *「ふっかつのじゅもんがちがいます。」withぬこ

    http://d.hatena.ne.jp/m-hiyama/20060203/1138935625 を見て笑った。 僕も「動物クラスのサブクラスに犬クラスとクラスを作って、『歩け』メッセージを送って歩かせてみましょう」とか馬鹿なことを書いてあるを読んでまったく意味がわからなかった。”うんうん抽象化と情報隠蔽と多態ですか。で、それは何がうれしいの?” オブジェクト指向を理解できた気分になったのは、GoFを読んでからだ。”なるほど!オブジェクト指向言語はこういうことができるのか!” 僕はプログラムで犬やを歩かせようと思ったことはなかったが、GoFに書いてあるような設計上の具体的な問題には多少心当たりがあった。 抽象的な説明のメリットは、それが実装に縛られないことだ。まったく違う処理系を持ってこられても説明だけは生きのこる。一方、デメリットはその説明が役に立たないことだ。例えて言うと、高

    哺乳類クラスって言うなキャンペーン - *「ふっかつのじゅもんがちがいます。」withぬこ
    hiromark
    hiromark 2006/02/03
    「抽象的な説明のメリットは、それが実装に縛られないこと、デメリットはその説明が役に立たないこと」、あはは、確かに。
  • 僕は、オブジェクトもthisもサッパリ理解できなかった - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「『常識』というよりは『理解の基盤』と『説明の方法』」に挙げた4つの問いかけのなかで、 メソッド内で使える「this って何?」と聞かれたら…。 これはなんか異質でしょう。thisは、僕自身の記憶に残っている例なんだよね。(以下、愚痴口調の文体。) 「犬とポチ」はやめてくれ 僕は、オブジェクト/クラスの概念が全然分からなかったし、今でも分からないよ。「犬クラスは哺乳類クラスのサブクラスで、ポチは犬クラスのインスタンスだ」とか「タイヤは自動車クラスのインスタンスではないが、自動車はタイヤを持つ(HAS-A)のだ」とか。そのテの説明を最初に見てしまったのがいけなかった。 犬とかポチとかは、動物学/分類学/博物学、あるいはペットショップで必要な概念なんじゃないの。それがどうした? という気分。今の僕は、このテの説明を全否定はしない。それで納得した気分になる人がいる事実を知っているからね。大人だね

    僕は、オブジェクトもthisもサッパリ理解できなかった - 檜山正幸のキマイラ飼育記 (はてなBlog)
    hiromark
    hiromark 2006/02/03
    オイラも同様にハマって、似たような理解をした気がする。こんなサイトもあります → http://kmaebashi.com/programmer/object/index.html
  • 1