InfoQ ホームページ Refactoring に関するすべてのコンテンツ
-
メンテナンス性とモジュール化のためGitHub OctoKit JavaScript REST SDKをリファクタリング
GitHubエンジニアのGregor Martynus氏が、もともと合計6ファイルで約16,000行のGitHub公式REST JavaScript SDKをリファクタリングして、よりメンテナンスしやすくモジュール化したプロジェクトにするまでの道のりについて説明した。
-
Facebook Retrieを使用した大規模なHaskellコードベースのリファクタリング
Facebookは、自社のSigma不正行為防止ルールエンジンをリファクタリングするために、ツールをオープンソース化した。Retrieという名前のこのツールを使用すると、開発者はリライトを正規表現ではなくHaskell構文の方程式として記述することができる。
-
モノリスの分解において、マイクロサービスは必然ではない - QCon LondonにおけるSam Newman氏の講演より
モノリスを分解する目的は独立的なデプロイでなければならない、開発者はテクノロジではなく成果を重視する必要がある、とSam Newman氏は言う。QCon Londonで行った講演の中で氏は、”モノリスは敵ではない”、”マイクロサービスは既定の選択肢ではない”と語った。
-
インクリメンタルなアーキテクチャアプローチ
世界中のアプリケーションのほとんどのうち、おそらく90%は、モノリシックなアプローチで動いている。オーバーエンジニアリングを避けるために、私たちはシンプルなアーキテクチャから始めて、必要に応じて進化させなくてはならない、Randy Shoup氏はReactive Summit 2018でこう語った。彼は最近発表したプレゼンテーションで、小さく始まり、やがて大規模でグローバルなインターネット会社に成長した企業での経験について説明した。
-
多すぎるスクリプトは継続的デリバリーをダメにする
先月のContinuous Lifecycle Londonにて、Avantika Mathur氏が継続的デリバリーパイプラインにおけるスクリプトの増加にまつわるコストについて語った。メンテナンスコストに加えて、もうひとつ大きなコストは、本番環境に変更をデプロイするまでに実際に何が実行されるのか、その可視性と監査可能性が欠けていることだ。多くの組織がこのことに気づいていない。
-
進化的アーキテクチャと継続的デリバリを支える技術的実践
TDDやリファクタリング、CI、ペアプログラミングなどのXPの実践は創発的設計をサポートし、アーキテクチャの進化を可能にする。継続的デリバリに必要なのは第一にCIで、メインラインに毎日コミットすることだ。きれいでしっかり考えられた、そして、よくテストされたコードを書けることは開発者にとってもっとも重要なスキルだ。
-
言語レベルのリファクタリングを備えたTypeScript 2.5がリリース
MicrosoftはTypeScript 2.5をリリースした。新たな言語機能は少ないが、言語サービス自体に組み込まれた基本的なリファクタリングなどの新機能を備える。
-
リファクタリングとコードの臭い – きれいなコードへの旅
リファクタリングは、より理解しやすく、メンテナンスしやすい、きれいなコードにするのを助けてくれる。それにはコードの臭いを嗅ぐ経験と実践が必要だ。つまり、コードの中にあるより深い問題を示す悪い設計の兆候を見つけることだ。コードを壊すことなく、小さなステップでリファクタリングを行うことを支援するツールもある。
-
EtsyがAPIアーキテクチャに移行した目的と方法
QCon New York 2016で,EtsyのソフトウェアエンジニアのStefanie Schirmer氏は,自身の会社がAPIファーストアーキテクチャへの移行に成功して複数デバイスのサポートとサーバのパフォーマンス問題への対処を達成したことと,それが開発チームによって迅速に採用されたことをテーマに講演を行なった。
-
リファクタリングを助けるGitHubのScientist
GitHubはScientist 1.0をリリースした。これは、GitHubのエンジニアのJesse Toth氏が開発したRubyのライブラリで、開発者のリファクタリングを支援する。ここ数年、GitHubの多くのプロジェクトで使われてきた。InfoQはJesse Toth氏に話を聞いた。
-
コード品質の測定と改善
InfoQはBoris Modylevsky氏にインタビューして,コード品質を測定することの重要性,その測定結果を品質改善に利用する方法,継続的インテグレーションへの静的コード解析の統合,テストカバレッジとテストの自動化,統合型コード解析とテストカバレッジを継続的インテグレーションと組み合わせることのメリットについて聞いた。
-
Spotifyにおけるマイクロサービス
Kevin Goldsmith氏がGOTO Berlin 2015カンファレンスで,同社がマイクロサービスを使って達成したアーキテクチャ革新について講演した。モノシリックなアプリケーションと比べた場合,マイクロサービスはテストやデプロイ,監視が容易であると氏は主張する。製品間の依存性を可能な限り少なくする目標も持つSpotifyにとって,マイクロサービスは極めて有効なアーキテクチャだ。
-
リビルドか,リファクタか
ソフトウェアはリビルド(再構築)すべきか,リファクタリングすべきか?Wouter Lagerweji氏とのインタビューから,リファクタリングを困難にしているものは何か,ソフトウェアのリビルドがリファクタリングよりリスクが少ないのか,継続的デリバリがソフトウェアのリビルドに対してどのように好都合なのかを考える。
-
ヒューマンリファクタリング:人生にもリファクタリングを適用しよう
Bryan Beecham氏はAgile Testing Days 2015でヒューマンリファクタリングについての基調講演を行った。InfoQは氏に、ヒューマンリファクタリングが私たちの生活の向上にどう役立つか、コードのリファクタリングとどう関係するか、健康に良い食事を摂ることを重要視しているのはなぜか、アジャイルチームはヒューマンリファクタリングからどんなメリットを受け得るか、自己向上と個人の成長に関する情報はどこで得られるか、についてインタビューした。
-
総保有コストを使った技術的負債の管理
総保有コスト(TCO)は、投資の意思決定やファイナンスの分析で使われる。これをソフトウエアに適用すると、初期の開発コストや、製品が提供停止になるまでのメンテナンスのコストをカバーできる。TCOは設計上の決定や技術的負債の管理をサポートする。