新しい自動参照カウントにより、新しい iPhone 開発者が cocoa メモリ管理ガイドラインを無視し、悪いコーディングを助長するようになると思いますか?
2 に答える
ある程度、はい。メモリ管理は、すでに自分自身に注意を払わなければならないものの1つだと思います. そのほとんどを自動化すると、日々のプログラミングがより不明瞭になり、注意を払う必要がある時間を無視しやすくなります。
とはいえ、現在のシステム (非 ARC) もかなり問題が発生しやすいです。参照カウントに注意を払っていても、時々、追跡するのが難しいリークが発生することがあります。結局のところ、ARC が最適だと思います。これにより、多くの手間が省けます (メモリ管理に関連する SO に関する質問の数を見てください) が、ARC が処理しないケースをより認識し、ARC に過度に依存することを避ける必要があります。
詳細については秘密保持契約のためお話できませんが…
少なくともメモリ管理を理解している人々の観点からは、これが助けになるとは思いません。彼らは命名規則に従う必要があり、メソッドに「create」という名前を付けるとコンパイル警告が表示される理由を理解する必要があります...それでも自動解放プールを理解して使用するようになります。彼らはこの理解にゆっくりと到達するかもしれませんが、最終的にはそれを見つけるでしょう.
私がそうなると思うのは、多くのプログラムのメモリ使用を以前よりもはるかに正確にすることです。コンパイラが実行できる最適化により、実行速度が向上します。これにより、多くのタイピングや*ミス*タイピングがなくなります。
メモリの大部分が管理されているシステムと同様に、リークは発生します。ああ、そうです、リークは発生します (人々が ObjC メモリ管理の状況を理解したいかどうかを理解する大きな理由です) ... しかし、クラッシュははるかに少なくなり、最終的にはそれがシステムにとって最善のことです。システム全体で最も重要なプレーヤー - アプリケーションを毎日実行している人。