タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Pythonとdiffとrefactoringに関するraimon49のブックマーク (2)

  • 20 万行超のコードベースをテストせずにリファクタリングリリースした話 - MonotaRO Tech Blog

    こんにちは、鈴木です。 20 万行を超えるアプリケーションのほとんど全てのソースコードを変更し、テストを行わずに番リリースしました。 「それってテストいるんですか?」問題 いきなりですが質問です。ソースコードを 1 バイトでも変更したら再テストする必要はあるでしょうか。「絶対に再テストすべき」という方もいれば、「状況によるしケースバイケースかな・・」という方もいらっしゃると思います。 ケースバイケースと考える方は、どのような場合にテストを行わなくて良いと考えるでしょうか。例えば、コメント内の誤字を修正した場合はどうでしょうか。ローカル変数の名前を typo していたので修正した場合、デッドコードを削除した場合はどうでしょうか。 こんなことがありました ある日、Python のソースコードを眺めていると、「# $Id」のような CVS 時代のコメントがありました。いまやソースコードは Gi

    20 万行超のコードベースをテストせずにリファクタリングリリースした話 - MonotaRO Tech Blog
    raimon49
    raimon49 2018/10/06
    >「AST が変化しない場合はテスト不要」という基準を作り、それを確認するための小さなツールを作成 / 頑固なレビュアーを納得させるための良いアプローチ。
  • リファクタリングのお供に使えるcodemod

    こんにちは、中川です。 今回はリファクタリングの際に役に立つcodemodというツールをご紹介したいと思います。 codemodとは、facebookが公開しているCUIの文字列置換ツールでpythonで作られています。 ツールといってもpythonファイルひとつですので非常に導入もしやすくなっています。 文字列の置き換えなら sed とかでできるのではと思われますが、 変換対象が多いときには、中には置換してはいけないものがあったり、 一部はそのまま置換でなくちょっと手直しが必要などがあったりしますよね。 そんな時に、codemod は変換対象をひとつひとつ確認・編集しながら置換をしていくことができます。 では、早速試してみましょう。 (※今回は手元のubuntuで試してみました。) ■インストール https://github.com/facebook/codemod から適当なディレク

    リファクタリングのお供に使えるcodemod
    raimon49
    raimon49 2011/09/12
    バージョン管理するまでもない置換のような場面に良いのかな。外部モジュールに依存していないから持ち歩いて使えそう。
  • 1