Sam*_*hie 37 cocoa-touch objective-c cocoa-design-patterns
我想问你所有关于Objective C中代码味道的意见,特别是Cocoa Touch.我正在开发一个相当复杂的游戏,即将开始伟大的十二月重构.
我的很多课程,尤其是模型,都充满了处理内部业务逻辑的方法; 在我对抗大量头文件的战争中,我将隐藏在私人类别中.那些私人类别包含大量的声明,这让我感到不安......就像Objective-C一样让我对所有这些方法感到内疚.
我重构的越多(一件好事!),我就越需要保持所有这些重复(不太好).这只是感觉不对.
在像Ruby这样的语言中,社区强调非常简短,清晰,美观的方法.我的问题是,对于Objective C(特别是Cocoa Touch),您的方法有多长,控制器有多大,以及您在项目中找到的每个类的方法数量是多少?是否有任何特别漂亮,漂亮的课程由Objective C中的简短方法组成,或者它根本不是语言文化的重要组成部分?
披露:我正在阅读"The Little Schemer",这应该解释我的悲伤,重新:目标C.
Abi*_*ern 15
美是主观的.对我来说,如果Objective-C类是可读的(我知道它应该做什么)并且可维护(我可以看到哪些部分负责做什么),它就很漂亮了.我也不喜欢被一个不熟悉的习语抛弃阅读代码.有点像你正在读书的时候,你读的东西会让你走出沉浸,并提醒你正在阅读.
你可能会得到很多不同的,互相排斥的建议,但这是我的想法.
#pragma mark语句标记它们在实现类或方法之前,我做的第一件事就是问:"我怎么想从外面使用它?"
我从来没有,从来没有首先编写我的类和方法的内部.通过优雅的公共API开始,内部趋向于优雅免费,如果他们不这样,那么丑陋至少包含在单个方法或类中,并且不允许用其气味污染其余代码.
有许多设计模式,二十年的编码告诉我,经得起时间考验的唯一模式是:KISS.保持简单愚蠢.
对于任何语言或环境,一些一般的经验法则:
doFoo:error而不是doFoo:从一开始.NSError从头开始创建具有最终用户可读本地化描述的精美实例.FooParser如果你需要一个fooFromString:方法,为什么要添加一个全新的类Foo?| 归档时间: |
|
| 查看次数: |
2018 次 |
| 最近记录: |