2017-02-22 4 views
1

私は現在、大規模なiOSアプリ(http://clean-swift.com)にCLEAN Swift iOSアーキテクチャを使用しています。これは、おじさんのクリーンアーキテクチャに基づいています。実際には、ビューコントローラのサイズは小さくなりますが、各シーン(または画面)にはたくさんのファイルがあります。典型的な画面には、ViewController、Presenter、Interactor、Router、Configuratorなどのファイルがあります。また、各ストーリーボードには1つのビューコントローラしかありません。さまざまなapi呼び出しを行うワーカーファイルも多数あります。スウィフトのコンパイル時間はかなり遅いですが、私の記憶の中では、(MVCからCLEANにアーキテクチャを変更する前であっても)いつもそうだったと確信しています。しかし、このアーキテクチャが遅いコンパイル時間を引き起こしているのかどうか疑問に思う人もいます。私の質問は、より多くのファイルを使用してコンパイル時間を増やすことですか? MVCはより速くコンパイルできますか?また、ストーリーボードはどうですか?この悪い習慣は、ビューコントローラごとに1つ使用していますか?Swiftでファイルをコンパイルする時間が増えますか?

+1

まあ私はもっと多くの時間をコンパイルするために時間がかかることを言うでしょう。MVCまでは、プレゼンテーションからビジネスの単なる分離であり、あなたのコードの見た目を良くします。しかし、それはまだあなたがより多くのモデルを作成する必要がありますクラスを作成すると、さらに多くのファイルが作成されます。また、それぞれのビューを作成する代わりに、複数のビューを1つのView Controllerで使用できます。 –

答えて

0

短い答えは「はい」です。より多くのファイルがコンパイル時間を増やします。
コンパイル時間を短縮する方法は、ストーリーボードを削除してからコード内でUIを実行するか、ストーリーボードをできるだけ再利用可能にすることです。 私の経験では、クリーンアーキテクチャーは、正しく実行されると、ビューファイルの数を減らすので、コードベースのコードベースで最も効果的です。 MVCのますます増え続けるコントローラーを悩ますのではなく、読みやすくメンテナンス可能でテスト可能なコードを持つという点で、コンパイル時間が少し増えます。そして、MVCはあなたのコンパイル時間を減らさないかもしれません。ストーリーボードが大きくなることがあります(ほとんどの場合)。 最後の質問です。はいコントローラごとに1つのストーリーボードは悪い習慣と見なすことができますが、これらのストーリーボードは再利用できない場合にのみ使用できます。

関連する問題