<< September 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
<< 作業管理にTracのチケットを活用 | main | 第1回大阪Jenkins勉強会に参加してCIの導入について学ぶ >>

スポンサーサイト

0

    一定期間更新がないため広告を表示しています

    スポンサードリンク * - * * - * - * - -

    「レガシーコード改善ガイド」は久しぶりに読んでみたい技術本だ

    0
       近々、去年開発したシステムの2次開発を行う予定があり、新しいメンバーとどのように作業をすすめていこうか考えているところだ。
       去年は時間があまりなく、経験2年目のメンバーにまかした機能のコードレビューなどの面倒を見ることができず、コードに重複があったり、かなりの改善の余地を残している。
       それを新しいメンバーにどう直してもらえばいいのかを考えている。

        レガシーコード改善ガイド (Object Oriented SELECTION) はそれを考えるいいヒントになるかもしれない。これは久しぶりにゆっくり読んでみたいかも。
       Codezinの連載記事の紹介を読んでみたところ、少しヒントになりそうなことがちらほらあった。
       記事のサンプルに、サーブレットを取り上げていることもWebシステム開発にも摘要できるのではないだろうかと淡い期待を抱く。


       予定では、まずはデータベースにアクセスする部分のソースコードに重複があり、SQL文をかいているコードに、同じようなファイル・ロジックがたくさんある部分を整理する必要があり、Unitテストをどのような単位で作っていくと効果が高いか検討中だった。
       業務ロジックとデータベース処理を行う実装は、システム全体で、2つの層に分け整理してあるのだが、まずは、データベースアクセス層に対して、コードの重複などを取り除いて、コードを整理して、小規模なリファクタリングを行い、Unitテストを書いて、コードを保護するところから始めることを考えていた。

       Codezineの連載記事の第2回で紹介されていた方法に「仕様化テスト」というのがあり、これも実際にやってみたいと思った。
       設計仕様書などのドキュメントがはプログラムを動かしながら画面の仕様を確認していくことも多くあるのだが、仕様のより細かい部分を確かめていく場合で、画面の細かいテストに手間がかかる場合は、Unitテストを組んで動かして、仕様を確認していくことも有効だ。

       また、ソースコードを整理していくことの意義について、新しいメンバーにどう意識をもってもらうか、何か工夫が必要だと思っていたが、単体テストの導入はその意識をメンバーに持ってもらうことにつながると前から考えていた。

       連載記事の第4回でも、下記の様な発言がある

       テストを書くためには依存関係を排除する必要があり、実際にテストを書くことで、依存関係を排除する具体的な方法が分かる

       この考え方はよくわかる、Unitテストを活用しようとしていた狙いもここにある。Unitテストを書くためには、処理をテストがしやすい単位に分けて整理する必要があり、複雑で長い読みにくいコードは、Unitテストのつくりようがないものだ。

       Unitテストをプロジェクトを導入しておけば、上記のような意識から、ソースコードが自然ときれいに整理されていくという仮説をずっと考えていた。
       今回の2次開発プロジェクトで、新しいメンバーが入ってくるので、この仮説を検証してみようと思う。

       参考URL: 
      「レガシーコード改善ガイド」のススメ


       
      よっしー * Webシステム開発(Java/Servlet) * 07:42 * comments(9) * trackbacks(0) * - -

      スポンサーサイト

      0
        スポンサードリンク * - * 07:42 * - * - * - -

        コメント

        管理者の承認待ちコメントです。
        Comment by - @ 2010/01/17 9:25 AM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/01/30 8:01 PM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/02/01 5:43 PM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/02/10 4:27 PM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/02/14 1:46 AM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/04/18 3:17 AM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/06/16 6:21 AM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/06/21 6:27 AM
        管理者の承認待ちコメントです。
        Comment by - @ 2010/06/26 8:43 PM
        コメントする









        トラックバック

        このページの先頭へ