LoginSignup
0
0

More than 3 years have passed since last update.

読書会「プログラマが知るべき97のこと」 #7

Posted at

1.今回の読んだ記事

No.86 DRY原則 
著者: Steve Smith

2.記事の概要

著者の主張

  • DRY(Don’t Repeat Your Self:繰り返しを避けること)原則はプログラミングに関して守るべきとされている原則の中でも特に重要なもの
  • 開発者がシンプルなアプリケーションを作るうえでの基本的な指針

要約

  • 重複は無駄
  • 作業(テスト・ビルドなど)の重複は自動化で防ぐ
  • ロジックの重複は抽象化で防ぐ

3.この記事を選んだ理由・感想

理由
開発を行う上で、繰り返しを防ぐというテーマは重要なことだと思ったので議題として取り上げたかった。

感想
システム開発において、自動化が重要であることを再認識した。
担当システム内でも改善できると思うので対応したい。
一方で歴史が古いシステムであるほど、後からからプロジェクトに新しいやり方を浸透させるのは難しいだろうなとも感じた。

4.議論

繰り返しを避けることに関して、普段意識していることはあるか?

  • 毎回同じ作業だなと思ったら、効率化できないか考えたりする
  • ラクできるように考える

過去に無駄な繰り返し作業をが発生していて、改善した事例があるか?

  • 試験

    • 性能試験などで毎回同じことをすることがあるので自動化のためにツールを作成した
      • 毎回全く同じ作業なので、ログを自動で取得できるようにするなど
        • 結果、作業時間が半分くらいになった
        • 自動化のアイディアと方法は上司が考えたもの

    • モジュール結合試験を一括で自動実行できるようにした
      • リグレッション試験をしたいので、変更していないところや基本機能を集約して毎回試験できるように自動化した
      • REST APIの試験だが、環境の問題などでマッチしたツールがなかったので自作した
        • 現状ではデータ作成などエクセルなどを使ってるので、もう少し進化てよい方法にしたい

    • 画面の試験を自動化したい
      • デザインの試験が自動化できていない
      • 文言の表示などは自動化できるが、デザインは提供を受けていいる
      • 動的な表示が影響してデザインがズレたり隠れてしまったりするので、おかしな表示を見つける試験を簡単にしたい

  • デプロイ

    • PHPの画面系のアプリはデプロイを自動化している
      • 試験のたびに表示値を変えたりなどもできるようにした

    • Jenkinsなどに移行したい
      • これまでのやり方もあるのでお客様を説得しつつ計画する(設定を作るのは手間)
      • うちのチームはビルドなどは活用しているが、まだデプロイするところまでは完全にできていない

現状、無駄な作業だと感じていて改善したいと考えていることはあるか?

  • 申請の類はまだ改善ができるかもしれない
    • 若手にに改善をお願いしたいなぁ
  • 日常生活では何かありますか
    • 趣味のために定期的にWebを検索するツールを作りました
    • 無駄というわけではないが、ラクしたいので食器洗い機が欲しいです!

まとめ

同じようなことは何度もやるので無駄だと思う。ラクしたい。
環境によって自動化できたりできなかったり、、、個々の環境なども知ることができました。
次回に続く。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0