当前位置: 首页 > 科技观察

我是一个混蛋程序员

时间:2023-03-20 20:33:43 科技观察

我最近收到了这封来自Artsicle创始人的电子邮件,这是一家初创公司,我在大一的整个暑假都在实习。本文作者:DanShipperScott是对的:我是一个混蛋程序员。我不认真地评论我的代码。有时,我违反了DRY编程原则。我不喜欢使用花哨的三重运算符表达式,也不太关心空格的使用。我的数据结构有时会变得丑陋。但另一方面,我(毫不羞愧)是一个非常优秀的程序员。例如,ArtsicleInc.是一家Rails开发公司,我在那里工作时对Rails和真正的MVC框架的经验很少。但是几周后,我已经基本掌握了他们的代码库,并且开发了几乎没有bug的功能模块。我自己也开发软件程序。很多节目。在过去的2年里,开发和发布了20多个各种语言和框架的应用程序,从Python到Rails到Node到Backone等等。42楼,RubyonRails框架的创始人,甚至公开邀请我加入他们的团队。你可以认为他们是错误的,但这些至少证明了我开发软件的能力。看来,我们的手既是善恶的创造者。那么我是一个糟糕的程序员,还是一个好的程序员?我认为,很明显,我们有一个定义问题:是什么造就了一名优秀的程序员?可以这么说,我的优先事项,我在10年前就养成了编程的习惯:我怎样才能尽可能快地完成它?我有一个非常明确的理由:当你为自己开发一些东西时(而且你还年轻),很可能没有项目会占用你很长时间的精力。所以,对我来说,我更愿意花最少的时间开发一个漂亮的程序,这样我就可以花更多的时间来测试我的小软件。我总是从非常务实的角度开发程序。对我来说,编程的美妙之处在于它可以让我构建我想要的软件,而唯一的代价就是我的时间。我总是首先在头脑中开发我的软件,我永远不会仅仅为了好玩而开发一些东西。然而,当我进入大学时,发生了一件有趣的事情。虽然我主修哲学,但我也选修了计算机课程。从理论的角度而不是实际的角度来看如何编写软件程序让我大开眼界。不仅我开发软件的方式受到了影响,我的学习兴趣也发生了变化。真正的理论计算(处理复杂理论的东西)实际上非常像哲学。有趣的是,我学到的很多纯理论让我在实际开发软件时更加成熟。事实证明,掌握一些计算机科学的基本原理,你的日常开发就能从中受益。如果您了解一些算法和数据结构,您将能够更好地应对开发更复杂的Web应用程序的挑战。因此,所谓的好程序员,是指对计算机科学知识有基本掌握的人,不是吗?错误的。仅仅因为你从著名机构获得计算机科学学位并不能使你成为下一个杰森科恩或帕特里克麦肯齐。你还必须做很多功课才能成为一名优秀的程序员。与生活中的许多其他事情一样,如何成为一名优秀的程序员的答案介于那些想让程序最快的人和那些想让程序变得漂亮的人之间。答案是这样的:优秀的程序员知道什么时候该快速而粗心地开发,什么时候该周到而干净。你要学会问:这样的事情真的有必要吗?有时候,你需要花额外的时间来设计,所以你想要开发的东西是必要的。随着阅历的增加,我越来越明白其中的真谛。与五年前相比,今天我构建的东西被更多人使用。这需要我的想法进行一些调整。以前纯粹是追求速度,现在更要注重代码的优雅(不然小伙伴会杀了我)。所以,下次您开发项目时,花点时间想想什么最重要:速度还是优雅?学会回答这个问题,你就成功了一半。英文原文:IAmATerribleProgrammer翻译链接:http://www.aqee.net/i-am-a-terrible-programmer/