タグ

javaとprogrammingに関するgothedistanceのブックマーク (14)

  • 5年後に後悔しないJavaプログラムの書き方 - L'eclat des jours(2009-07-02)

    _ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな

  • DIって本当に必要? - ひがやすを技術ブログ

    DIって当に必要?たまにそう思うときがあります。DIによって開発は当に楽になったのか。 DIのメリットでよく語られることとして、インターフェースと実装を分離し、機能の利用者側はインターフェースを通じて機能を利用することで、実装に直接依存しなくなり、後で実装を変更しても影響を受けなくなるということがあります。 実際後から、実装クラスを変更するということはめったにないので、よくあるのは、テストのために実装クラスをモックに変えることです。 でも、別にそれだけならDIContainerなんていりません。たとえば、次のようにServiceクラスに直接依存したClientがあるとします。 class Client { Service service = new Service(); void setService(Service service) { this.service = service;

    DIって本当に必要? - ひがやすを技術ブログ
  • Javaにおける開発・Test(Unit/Web/負荷)環境のまとめ - よねのはてな

    うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence

  • コードの最低品質を底上げする為のルール的なアレ。 - 設計と実装の狭間で。

    何となくまぁ、話題になったので、とりあえず書いておくます。 ルールなのだけど、常に例外的状況は存在しるます。 その例外的状況を適切に把握しているのであれば、どの様にコード書いても良いです。 自分の中で一定のルールを持ってコーディングすると、 そもそも自分がミスをし易いパターンを把握し易いのと、 自分のコードの最低品質がある程度担保されるので、良いかな…と思うマス。 要は、みんな俺様ルールを作って、 それをある程度意識しながらコーディングすれば良いと思うよ、って話。 考え方の基。 自分の能力が最も発揮されない状況を想定する事。 疲れている、やる気ない、気になる事が他にある、等々… 頭を使う時間は計測するのが難しいが、タイピングしている時間は、ある程度簡単に計測可能である事。 「考えている時間」は、貴重なリソースだけど、見積もりが難しいのだよねぇ…。すごく。 この位の時間考えれば答えが出る筈

    コードの最低品質を底上げする為のルール的なアレ。 - 設計と実装の狭間で。
    gothedistance
    gothedistance 2009/01/15
    戻り値の変数は常にresultにするってのが気に入った。
  • 簡単にDIってどんなもの?何がよいの? - かとじゅんの技術日誌

    DIについて社内で理解してもらう機会があったのでここで簡単におさらい。 まず簡単な学生の試験の点数を評価してくれるインターフェイスと実装クラスを例に説明します。 // 試験点数の評価ロジックのインターフェイス public interface CheckPointLogic { public String check(int point); } // Aパターンの試験点数の評価の実装 public class ACheckPointLogicImpl implements CheckPointLogic { public String check(int point){ if ( point == 100 ){ return "Good!"; }else{ return "Bad!!"; } } } // 評価ロジックを実際に使います public class Sample { publi

    簡単にDIってどんなもの?何がよいの? - かとじゅんの技術日誌
  • ジェネリクスを使いこなそうゼ - 都元ダイスケ IT-PRESS

    というネタでエントリ書けよゴルァ、とid:happy_ryoに脅されて書くエントリー。 ジェネリクスご存知ですか。使ってますか。アノテーションと共にJava5から現れた、<> で囲まれた変な奴。 全くの余談ですが、アノテとジェネリクスの事を理解していなかったその昔。漠然と「たまに見かけるあの@とか、<> とかって何だろう」と思った訳ですよ。で、どうしようもなくて某所で聞いてみたんですね。そしたらさー、「ググれカス」って言われちゃってさwwww 「Java @」とか「Java <>」で検索してみるわけですよw 無理だろww はい、話し始める前から脱線してる都元ですコンバンワ。 ジェネリクス初心者がまず触れるのは、コレクションですかね。Listとかでお世話になる訳ですね。意図しない型のインスタンスを突っ込まれる心配もなく、取り出し時にキャストする必要もなくなる、なんか嬉しい奴、というイメージだ

    ジェネリクスを使いこなそうゼ - 都元ダイスケ IT-PRESS
  • 混ざると管理しにくいすごいコード - きしだのHatena

    すごいコードとそうではないコードが混じると管理しにくいということですが、実際そうですよね。 すごくセンスのある人がいて、ビックリするようなテクニックを使って追いにくいコードを書く人がいます。 すごいな〜とは思うけど、できればやめて欲しいですね。 よくあるのが、みんな使ってないけどその人だけが使ってるライブラリ。それもプログラムの作り方に影響しそうな。 例えば、その人のコードだけBeanUtilを使って、そのためにBeanがちゃんと書いてあったり、それぽいところはないのに1行でデータコピーしてたり。BeanUtilだと何かの依存ライブラリとして使える状態になってたりするし。 でも、これは局所的です。それに、わかってしまえば追うのはたいしたことない。使えるものは使うというのも、まあ悪くないと思います。 たちが悪いのは、オブジェクト指向だったり30行メソッドとかメンテナンスしやすさテストしやすさ

  • Genericsとか - しげるメモ

    Java : Generics - lethevert is a programmer あたりを読んで、Genericsって難しいって思う人がたくさんいるんだなと。 確かに難しいけど、それは コンパイラ作るのが大変 フレームワーク作るのが大変 とかその辺の話で、末端の開発者(上の成果を利用する人)はほとんど気にせずに使えると思うのですよ。Javaの仕様が複雑、と言っているほとんどの人は上に関わっている人とか、言語学者?の人なのかなと思います。 たとえば、enumの親であるjava.lang.Enumはジェネリッククラスとして宣言されていて、 class Enum<E extends Enum<E>> 上のような宣言ですが、これを気にする人とかあまりいないのではないかと思います。 それでも、これらを利用する開発者にとっては気がつかないうちにいろいろな恩恵が与えられています。 ほかにも、jav

    Genericsとか - しげるメモ
  • DIのお話を書いてみる。 - 都元ダイスケ IT-PRESS

    まず。この物語はフィクションであり このエントリ上のコードはあくまでもチュートリアル用のコードであり、実用性に関しては(ry という訳で、id:happy_ryoのリクエストにお応えして、DIのお話。Seasar2を使ってみます。 ポリモーフィズムの例をもうちっと実用的に書いてみた。 - 都元ダイスケ IT-PRESSの続きです。 まずはいきなりMain見てみますか。 import org.seasar.framework.container.S2Container; import org.seasar.framework.container.factory.SingletonS2ContainerFactory; public class Main { public static void main(String[] args) { Table table = new Table("T_

    DIのお話を書いてみる。 - 都元ダイスケ IT-PRESS
  • GoTheDistanceの人が遊びに来てくれました

    gothedistance
    gothedistance 2008/02/21
    安西先生、ペアプロがしたいです・・・。
  • 自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記

    http://d.hatena.ne.jp/JavaBlack/20050909/p1の改訂.*1基的に改訂版への差し替えと一部の新刊の追加程度になっている. お奨めのJava&オブジェクト指向プログラミング関連の書籍/参考文献リスト.初心者向け入門書や参考書から上級者向けの専門書まで,オブジェクト指向だとかJava言語とかの初心者〜中級者が学習をすすめる上での参考にすることを想定して作っている. 初心者向け勉強の手引き:http://d.hatena.ne.jp/JavaBlack/20070825/p1 オブジェクト指向プログラミング とりあえず初心者なら「オブジェクト指向プログラミング入門」「オブジェクト指向における再利用のためのデザインパターン」と,あと「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」くらいかな.ただしリフ

    自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記
  • オブジェクト指向プログラミングの学習法(初心者向け) - カレーなる辛口Javaな転職日記

    個人的な話をしますと、オブジェクト指向の入門書に出てくる、「クルマのたとえ話」とかは当に意味わかりませんでした。こちとら、すっかり手続き脳なもので、そんなんでmainとかどうやって書くのよ?みたいな。<我ながらヒドイ http://d.hatena.ne.jp/LazyCoder/20070806/1186417299 追記 PHPのオブジェクト指向を勉強してる。というか仕事での必要性を感じてやってるけど、正直オブジェクト指向の良さがさっぱりわからん。(中略) よくあるオブジェクト指向の解説には車がオブジェクトでタイヤがファンクションでみたいなんかいてるけど、実務で使うプログラムの設計の仕方がわからん。 http://anond.hatelabo.jp/20070427093912 こんな説明を読んで、なんだかわかったような気分になれる人は、どっちかというと思考力に欠ける人なんじゃない

    オブジェクト指向プログラミングの学習法(初心者向け) - カレーなる辛口Javaな転職日記
  • Yoshioriの日記: だったら Java でも良いじゃないか!!

    諸君!!俺は Java が好きだ!! って書いてみたかった。 言語論争あんまり好きじゃないから あんまりそれらしいこと書いてなかったけど ちょっとだけ書いてみます。 「j」が付かない方の Yoshiori から見た Djangoへの片思い日記 - Struts脳の恐怖とRails ということで♪ いわゆる高級言語というのは 人間が書きやすい&読みやすいという側面も大きいと思っています。 で、完全に僕の主観ですが Java のソースコードは凄く読みやすいです。 他の言語がメインの人に聞いても 「やっぱり Java は読みやすいよね」 と、言われることもあります。 さて、実際にプログラムを書くときですが、 そのプログラムの稼働期間はどのくらいでしょうか? 開発期間より稼働期間のほうが長い場合、 保守などでコードを書く時間より 書いたコードを読む時間のほうが多いときがあります。 複数人で書いてい

  • ひがやすを blog - Javaを古くしたやつとRubyを煽っているやつ

    その正体はわかったよ。正体わかった瞬間からだが震えたよ。まじで。 まずは、羽生さんのこのエントリを見て欲しい。 http://d.hatena.ne.jp/habuakihiro/20070922#1190464426 その後によしおりのこの有名なエントリも復習して欲しい。 http://d.hatena.ne.jp/jYoshiori/20070826/1188150596 もうさぁ、変わってないよねぇ。昔からのこの構図。歴史は繰り返すっていうの。 あからさまにいうとさぁ。賢いスーツな奴らと、頭の固くてあわれで保守的なおやじの歴史だよ。 最初は、EJBだよ。EJB。これからは、ビジネスコンポーネントが流通して、もうプログラミングはいらなくなる。コンポーネントの組み合わせを考えるだけでOKみたいな。最初にね、キャッチーな言葉とともに、あらたなテクノロジーを広めようとするのは、賢いスーツな奴

    ひがやすを blog - Javaを古くしたやつとRubyを煽っているやつ
  • 1