发布于:2021-01-26 10:20:18
0
165
0
在今天的Java和.NET世界中,我开始担心我们正在做很多事情,因为“你就是这样做的。”我认为这是一个危险的地方。
在这个地方,教育和理解被盲目地遵循最佳实践所压倒,而没有真正思考为什么或何时应用它们。
这里不是要抨击Ruby,但是我认为最近从C#和Java到Ruby的撤离在很多方面都是由于许多有经验的C#和Java开发人员降低了实用性。
我必须承认,我自己也有罪,我盲目地将接口添加到不需要它们的类中,这样我就可以依赖性地将它们注入到我的类中,这样我就可以使用模拟框架编写行为驱动的单元测试。
我该怎么办?
我想我会写一系列的博客文章,目的是回到最基本的方面。我想仔细看看:
为什么存在一些当今最佳实践
他们正在尝试解决什么问题
在依靠这些技术之前我们做了什么
适用时
我想回到非常清楚的一点,当我采用以下最佳实践之一时:
我有充分的理由这样做
它正在解决一个特定的问题
有净收益
我的目标是采取一种“没有什么是神圣的”方法来进行软件开发,并将任何东西和所有东西分开。
我想先看一些基本的东西,比如界面,然后问一些问题,比如“我们为什么要使用界面?等等之类的问题
老实说,我不知道这条路到底会走向何方,但我要走下去,看看它会走向何方。
但是向前的进展呢?
今天所有的最佳实践和技术不是软件开发行业多年向前发展的结果吗?
是的,但这并不意味着他们是对的。
进步是如何运作的,这有点奇怪。我们在一条道路上走了很长一段时间,以为自己在进步,直到走到一条死胡同,但我们在这条道路上学到的一些东西让我们在另一条道路上走得更远,或者完全开辟新的道路。
只有在制定问题的解决方案时,我们才能发现由这些解决方案引起的其他问题,而这些问题又反过来使我们回到过去,用新知识武装起来,以不同的方式解决原来的问题。
想举个好例子吗?
看看JavaScript的使用在过去的5年里发生了怎样的变化,JavaScript已经存在了很长一段时间,但是现在的使用方式与5年前完全不同。
语言本身没有改变,但是我们使用它的方式已经完全改变了。
我说这句话的唯一目的是打开你的心扉,让你认识到这样一种可能性,即我们认为今天完全必要的事情,例如单元测试,在将来甚至可能不会被认为是有价值的。
为什么这很重要?
改变你的信仰,时不时地向他们提问,这是件好事。
任何你认为正确的信念都应该能够经得起坚实的推理。每隔一段时间测试我们自己的信念以确保它们仍然有效是很重要的。
测试我们的信念可以帮助我们在正确的人身上获得更多的信心,并且不再纠缠于那些错误的人。
作者介绍