丹沙里面向发展

尽管有这个标题,我在这里不会谈论任何新的范例或任何新的编程模式,而是要谈一种态度,以及我们如何运用这种态度来改进Zattoo中的iOS App。

如果您不知道Danshari的概念,它是由三个汉字组成的日语组成的单词,其顺序为:拒绝,处理和分离。

几年前,我在日本旅行时发现了这个概念。 我真的很喜欢Danshari的概念,因此我会在日常生活中尽可能地遵循它。

简而言之,Danshari可以被定义为避免与物体产生任何情感联系,与占有分离以及摆脱生活中的混乱的想法。 在您生活中的一段时间内,对象可以看作是有用的工具,然后被扔掉。

一旦不再需要它们,那就结束了。 您不必再保留这些工具,不占用大量空间,减少移动自由度,或者在某些情况下(如果您拥有昂贵的财产)会增加被盗的恐惧。

可以想象,在生活在资本主义世界中的Danshari的概念确实很难应用,每个人都想拥有市场上最大的汽车,最大的房屋和最新的设备。 当然,如果确实需要这些对象并且它们可以解决您的生活中的问题,那也不错。

Danshari作为开发人员

正如我所说,我会尽可能地遵循Danshari的原则,这也意味着我会尝试将此概念应用到我作为软件开发人员所生活的那一部分。

将Danshari用作开发人员到底意味着什么?

容易,只需从项目中删除任何不需要的组件,即可节省代码和资源。

代码和资源是解决问题的工具。 而且,由于项目的发展,这些工具中的一些最终可能变成多余的。

您现在必须纳闷,这是什么意思,以及您实际上可以从项目中删除什么。 毕竟,添加所有内容都是有原因的,不是吗?

为了更清楚地说明,我将根据我的个人经验提供示例列表,但是请您参考它,不要害羞,我相信一旦开始,您会发现越来越多的情况将Danshari应用于您的代码。

·在无处注释的代码中,代码段无缘无故地保留着,可能是由于某种重构的结果,没有人敢于仅仅因为谁知道有一天这段代码可能有用而删除了……

·不再需要未使用的类和方法 ,App Code是一个出色的IDE,可发现您App中所有这些冗余元素。

·实际上从未使用过的冗余导入 。 应用程式程式码也可以在这里提供协助。

·添加到Podfile中的未使用的依赖项,不再由应用程序使用。

· 默认实现 ,通常在内部带有注释代码。 添加它们是有原因的,但是一旦其行为恢复为默认状态,就不会将其从项目中删除。

· 预定义的模板,什么都不做 您是否对以下代码熟悉?

· 未使用的字符串,不再使用的字符串也应从Localizable.strings中删除

·与以前相同, 未使用的图像是否由应用程序的最新版本使用了所有xcasset?

· 具有可推断的数据类型或默认修饰符的定义

· 不再需要过去可能在执行某些任务时有用的脚本 ,这些脚本无人可做。

· 巨大的许可证标头,添加到项目的每个文件中。 除了养活自我的标头根本没有增加任何价值。 在某些情况下,您甚至可以找到代码少于许可证的文件。

免责声明:由于法律问题,在某些情况下,例如在公开公共API的框架上工作时,实际上确实需要这些标头。

· 冗余和错误的注释会在代码中添加明显甚至错误的信息

· 旧代码 由于语言的发展,不再需要。 综合属性,私有方法的预定义等…

· 不再受支持的设备的条件代码。 就像下面的代码一样,一旦将部署目标转移到iOS8,任何人都不会删除(这间接意味着仅支持iPhone 4或更高版本)