斯威夫特(Swift):常见错误无人问津-常量

您好,我亲爱的开发人员,

今天,我要说的是那件事,这让我很困扰。 您知道,我是一家软件开发公司的CTO。 此外,我是许多其他软件开发公司和初创公司的朋友,我帮助他们建立了移动编码文化或只是采访了人们。 因此,我在审查他人的代码方面拥有丰富的经验。 我这样做是在面试,性能审查,代码审查中赚钱和/或赚钱。

你知道吗? 由于人们容易犯的简单错误,我感到很沮丧。 因此,在本系列文章中,我将向您展示改善代码并使代码更具扩展性和可读性的不同方法。 是的,我会不时抱怨和抱怨。

首先,我将给出一般建议:

  • 干(不要重复自己);
  • 了解您正在使用的乐器;
  • 反思您的代码;
  • 扩展您的视野以改善代码。

第二个建议实际上是第一个建议的专业化。 您会发现,如果您不知道所使用的语言或框架,您将复制该代码。 我可以承认,我每年至少要对代码进行4次反思,每发现一次,平均每分钟就会产生100 WTF。 然后,我将自己的命运视为无能的傻瓜。 然后,我寻求更好的解决方案,然后尝试避免此类错误。

通过扩大视野,我的意思是学习新的语言和范例。 最近,我开始学习FP,可以告诉您,我永远都不会像以前那样编码。 当我仍然在ObjC中编写Ruby时,也发生了同样的情况。 总体而言,您尝试的次数越多,您的代码就越好。 正如Paul Graham曾经说过的那样,您将永远无法用其他语言编写类似Lisp的代码,但是即使您知道Lisp,即使使用更有限的语言,您的代码也肯定会变得更好。

第一个建议是国王,因为重复会导致不良的可重用性和可扩展性,从而导致大量容易出错的代码,这会消耗程序员的时间,例如胖而毛茸茸的野生不死人类不育之猪,充满了愤怒。活的。 修改这样的代码真的很难。 让我们看一下下面的代码:

这里的代码非常简单,但是如果要为前缀函数将“ prefix”字符串更改为“ mama” ,而对于后缀函数则保持不变,则更改代码会很麻烦。 这里的解决方案非常简单。 切勿使用代码中硬编码的任何类型的常数(字符串,数字,对象或其他任何形式)。 将它们放在带有清晰名称的词法范围常量中。 可以使用以下建议将上面的代码重写如下:

与特定内容相关的任何更改都在一个地方完成,这是重复数据删除和DRY的最终目标。

就是这样,伙计们。 祝您有美好的一天,无论您身在何处,都要保持干燥。