質問: scheduler.sharedinstance.timelines[sharedglobals.calendar.selected_day].day.dayname self.navigationitem.rightbarbuttonitem?.applyvoiceoveraccessibility( label: self.navigationitem.rightbarbuttonitem?.title ?? "", hint:"voiceover.openscreenhint".localized.replacingoccurrences(of: "{screen}", with: openday)) } private var timelinesareinitialized: bool { return scheduler.sharedinstance.timelines.count > sharedglobals.calendar.selected_day }
回答: 計算されたプロパティを使用するときにこれを行う必要がありますか?プライベートインスタンス変数をクラスの先頭に配置するのが一般的ですが、本質的にヘルパー関数である場合、そうするのは混乱します。 計算されているかどうかにかかわらず、最初に詳細にぶつからないのはとてもいいことです。まず、ハイレベルな話を教えてください。私の議論を弱体化させる最も確実な方法は、くだらない名前を使用することです。定義される前にtimelinesareinitializedを読んでもかまいませんでした。どうして?その名前があなたの意図を非常に明確にしたからです。これは多くの言語の慣習に反し、コードベースは一貫している必要があることを理解していますが、他のすべての条件が同じであれば、これがより良いスタイルです。慣習を持つことは一貫性のために良いです。しかし、これはあなたが過去の最高の知恵を祀っているので、あなたが今日の最高の知恵に従うことができないことを意味します。きれいな休憩をとる機会が与えられたとき、過去の過ちを繰り返さないでください。