最好的是,您最喜欢的乐器的创造者在发明自行车时不听驴子的声音



去年夏天,我和你们讨论了我们的lib,我们的客户没有接受并把它扔进垃圾桶。我们之所以轰炸,是因为我们相信我们的决定,并告知了社区-普通的开发人员肯定会检查它,并且不会以任何废话交换。

嗯,当然。从字面上看,我们被批评浪潮冲走了。有很多人不喜欢我的自负,而且我个人是这样-没关系,我对他们没有问题。那些看似聪明的人甚至不愿去看代码,也不希望深入研究上下文,这让我非常生气,因为他们从门槛上说:“你们骑自行车。”每个人都振作起来-重新发明轮子是坏的,可怕的,噩梦,不可接受的,羞耻的,处死他们的,私下的。确实,只有白痴才会为某人已经解决的任务开发新工具。

让我惊讶的是,为这个技巧进行设计的速度如此之快。我甚至问了最挑剔,最有思想的人们-“重塑自行车不好吗?”。他们在不到一秒钟的时间内回答“是”。

好吧,伙计,那不会。让我们在这里停止,四处看看,仔细考虑。



我曾经在家里做了一段时间的前端应用程序。我使用了试剂,但没有将其用于状态管理-我没有遇到这样的问题。然后问题出现了,我开始做“我的自行车”。聪明的叔叔告诉我,我是个白痴,我需要带Redux。我拿了。

两个月后,大多数项目代码都是编辑器适应了我的体系结构。这个工具给我带来的问题比解决的问题多得多。不是因为编辑器不好-只是不合适。

大型公司的一个人决定使用大型公司的Web应用程序状态。编辑器解决了此类应用程序所面临的许多问题,并且很好地完成了工作。该行业在做什么?业内人士说-丹·阿布拉莫夫(Dan Abramov)给了我们办法。现在,我的网站以两种形式使用编辑器来处理状态。

朋友,让编辑器可以使用状态-但不能使用您的状态。您不需要应用程序状态的所有部分之间的持久链,不需要通过网络传输动作游戏,也不需要做更多使编辑程序自动化的事情。同时,使用编辑器并不容易。您将不得不花费一百公里的代码来向编辑者解释您的状况,在何处以及如何更新,哪些变化很重要而哪些变化不重要。这样编辑人员可以自动为您解决您没有的问题。认真地看,您是否看到至少一个空缺,但没有编辑?我不是

有类似物-但它们也很庞大。有时,解决问题的最便宜的方法是不为所有事情都配备工具,而是编写适合您的域解决方案。我的天哪,打字稿功能强大到足以在几个小时内编写基本的mvvm,mvc或您想要的任何内容-因此它只能解决您遇到的那些问题。使它变得更便宜,更快。也许您的解决方案会很酷,随着项目的发展而增长,并成为标准。

但这是被禁止的-因为其他开发人员告诉您:“伙计,不要重新发明轮子。只需选择市场上最受欢迎的产品即可。”

例如,在我的项目中,MobX更合适,但也不是超级。正是我发明的自行车最适合我。但是似乎他们剥夺了我做出正确决定的权利,因为无论我做什么,都没有人会听。没有人愿意相信它会变得更好,更便宜。

这造成了一个恶性循环。如果每个人都只使用他们之前的发明,那么开发的进展将停止。他们会告诉您,如果您想做得比完成时要好-可以在业余时间在家做。你说好,晚上开始工作,完成它,然后告诉别人你的决定,但是没人愿意看他的面纱-“这是一辆自行车”。

但实际上,我们所做的只是发明自行车。“自行车”只是一种有害的言辞诡计,用以证明您的懒惰或在与另一名开发商的纠纷中主张自己。

社论的创造者,反应者和莫比克斯-毕竟,他们也“制造了自己的自行车”。好吧,那是什么,除非在出现角度时,否则我们还没有使用浏览器UI的库?jQuery淘汰赛 顺便说一句,这也很棒。毕竟,总会有香草js和浏览器API。那么为什么这些白痴解决了已解决的问题呢?

Douglas Crockford发明了JSON。不称职的蠢货似乎不知道我们已经有了XML。在他之前很久,程序员发明了一种交换数据的方式,他认为他在那里?

不好的例子?嗯,当然。的确,在您的头脑中,来自大公司的人有权发明自行车。他们有,但您和我没有。



俄罗斯联邦最多的企业IT是银行。而且,如果您查看任何Sberbank,Tinkov或Alf的技术产品,您都会发现-它们在相同的应用程序中具有大致相同的设计。这些几乎是相同的系统。对于用户而言,它们是由不同的人以不同的方式,在不同的堆栈上制造的。所有这些银行都有自己独特的发展方式。全球IT巨头也有很多相同的产品。当大银行家聚在一起并决定他们需要数字产品时,他们雇用了一大批开发人员,并迫使他们做其他银行已经做的相同的事情,这是第一百次,但是是以一种新的方式。

这都是关于自行车的。

在我从事的每个项目中,都有长期存在的问题,因为某些事情不是自动化的。因为一旦有人被告知-不要重新发明轮子,只需关闭车票即可。是的,企业正在等待入场券,需要供餐,但老实说-我很清楚,我们的预算总是比企业想像的要多。

我拥有花在生意上的钱就拥有了一切。一家大公司有很多钱,它带动他们发展。解决问题的开发人员可以花这笔巨款,同时进行一些研究。经理可能会花钱,但经理会花钱来支付我们无数次参加无用会议的费用。企业已经在开发上花了钱,如果您不将其用于编程,那么业务合作伙伴将把钱花在他们自己的愚蠢流程上,除了他们自己之外,其他任何人都不需要。

我已经看到足够多的家伙每天“工作” 18个小时。而且我很清楚,如果您在办公室呆了18个小时,您的工作将和坐在8岁时一样多。

很简单地解释了我们欺骗企业的集体方式-它不会失败。企业不理解为什么我们不应该在两周内进行功能设计,而是将旧有的东西整理好。这是正常现象,我们知道如何解决。您为一家企业工作了半天,为一个项目工作了半天。我来上班,关闭了日常工作-就是这样,您可以进行研究。

在我们解决实用的,暂时的愿望清单业务时-他已准备好为我们付款。实际上,为了进行编程,真正的发展始于有编程的地方。当您无所顾忌地沉迷于纯力学时,会产生短暂的点击和工程热情,因为只有通过这种方式才能突破界限,出现了新的方法和工具才能再次解决实际问题,只会更好。

当我开发某些东西时,已经完成的事情,我不会完全像他们一样重新发明它。我想出了办法。他总是好事,总是坏事。它始终是一项发明。我的绝大多数发明都属于历史垃圾,但总有机会发明出非常酷的东西。即使顺便说一句,即使我自己不重视它,也没关系。有人会看到,在其他地方,该行业将收到一项新的标准,它将开始解决我们的问题。只有这个主意驱使我编写代码。

开源也有许多相同的项目。解决相同问题的人。您准备好说让制造它们的每个人都是傻瓜吗?我还没有准备好。当我想批量进行序列化时,会得到五六个顶级解决方案,每个解决方案都有其独特的优势。有时候,这些优势之一对我来说至关重要,在这样的时刻,我对那些决定制造这种“自行车”的家伙表示感谢。

当他们对我说开发中已经发明了一切时,我问:“什么,我们有什么问题吗?”。

我们不写日常样板吗?当我们用相同的代码填充文件时,我们是否会一遍又一遍地自动化?我们仍然在做机器现在可以做的很多事情。之所以这样做,是因为我们尚未发明出方法,因为我们总是将操纵杆插入自行车的车轮中。



观看我的播客

All Articles