您在职业生涯中学到的最好的课程是什么?[关闭]


26

我认为我的工作是“没有五分钟的工作”-程序员倾向于对开发过于乐观,我们应该在认真思考问题之后再承诺快速解决问题,然后再深入研究代码

Answers:


26

总有一种更好的方式来编写代码。

无论您发现编写的代码多么出色,如果您在几年后对其进行回顾,都会感到惊讶。仅仅因为几年前,您还没有意识到今天所知道的某些模式,或者同时学习到的某些语言功能,等等。


一旦解决了这个问题,就不要再为它而战。学习,改进,但要做好工作。我一直在IDE中瘫痪,因为我担心自己缺少技巧。这就是重构的目的。:-)
伊恩·霍尔德


11

您的软件的寿命将比编写该软件时所认为的更长。

我的职业生涯始于80年代。我从起源于70年代的软件开始,直到90年代仍在使用它(也许更长,我不确定它的命运)。我自己的一些开源代码已经进入第二个十年了。


9

与他人的良好合作非常重要。

“告诉我你的'去找人',我会告诉你你的问题”

Slapdash英雄编码员-那些只编写代码而无视常规,可读性或其他任何人正在从事的工作的人员-造成的弊大于利。

并不是说可以编写大量高质量代码的人是坏事。很少见。


我认为这个答案值得更多投票。从我身边+1 :-)
怪胎


7

学习新语言是工作的一部分

我在80年代在学校里学习了四种编程语言,但是在工作中使用了其中一种。我有四份工作,我什至都不知道我被雇用使用哪种语言。

总的来说,我在职业生涯中已经学习并使用了数十种语言,包括FORTRAN,c,c ++,c#,java,perl,Tcl,ruby,groovy,awk,python,sh,batch,DCL,javascript和a少量的小型DSL。做一点数学,我似乎每两年平均学习一种新语言,尽管有很多重叠之处。

如果我的职业生涯中有什么常事,那就是改变。


6

软件永远不会完成。

在要求,改进和错误修复方面总会有一些变化,您必须准备好进行处理。因此,要保持灵活性,并接受这样的事实,"software is never complete"并且总是有改进的余地。


5

每天继续学习。今天的知识明天就过时了。

具有讽刺意味的是,这个答案明天也应该过时。但是,实际上,要努力学习一两个东西,如果可能的话,要获得证书的认可,成为这些东西的上帝(也许是编程语言或系统/网络/数据库管理),并始终关注其他次要事物,例如其他语言而不重视您。

举例来说,我的意思是成为Java和Oracle DB管理的专业人士,但是虽然没有认证水平,但要学习一些Python,PHP,C ++,HTML5,Javascript。研究现有的每个网络或语言框架。学习或尝试对每个现有数据库(例如SQL Server,MySQL,Cassandra,HBase,PostgreSQL)以及整个No-SQL世界(例如MongoDB和CouchDB)进行一些(基础)体验。尝试拥有有关Linux管理和虚拟化的经验。

这是我从16年的经验中学到的最大的一课。我曾经是一个使用十年语言的Pascal语言语言程序员,在千禧年初期使用了Visual Basic6。从9年前开始我就是一个PHP开发人员。但是从那时起,我了解到开发人员至少需要了解所有知识。


1
理论上的事情是例外。

5

“如果你的数学错了,那你就敬酒了。”

几年前第一次学习它。就在两个星期前再次了解到它。


3

我会说我学到的最好的一课是

“您应该始终寻求最佳方法,而不是您的方法。”


3

我知道最好的设计原则是KISS (保持简单,愚蠢!)

我了解到,保持代码简单和整洁应该是首要考虑因素,并且每个团队成员都应该了解您拥有的代码。The KISS principle指出大多数系统如果保持简单而不是变得复杂,则它们的工作效果最佳,因此,简单性应是设计中的关键目标,应避免不必要的复杂性。


3

如果没有损坏,请不要修复!

尝试扩展和改进已经起作用的内容可能会让您头疼


3

没有尝试

假设您有一个任务或一堆任务,估计需要4天。然后您的老板或项目经理问您是否可以出于某些重要原因而尝试在两天内完成它。想要成为一个优秀,灵活的员工,您可能会想说:当然可以尝试。由此产生的最有可能的结果是,您要么错过了最后期限,要么将要半途而废地完成工作。要求您这样做不是您老板的错,这是他的工作。不说不,这是你的错,这是你的工作。

你不能讨价还价。您可以讨价还价。要专业,不要卖空自己。


您如何看待老板/经理实际上希望您以牺牲将来的工作和其他事情为代价来牺牲质量,以便更快地完成工作的情况?
山姆


2

编写一流的,最先进的,干净的代码感觉很好。

即使要求我做一些快速的修复方法来破坏代码库,我还是会这样做。


1
  • 编写代码很容易。读取代码很困难。即使代码是您的。因此,只要有可能,就采用可读的方法。

  • 你并不比其他人聪明。永远不要以为自己的方法就是最好的方法。

  • 注意说的是什么,而不是说谁。绝妙的主意可能来自最意想不到的来源。

  • 别偷懒 花些时间编写漂亮的代码。无论如何,您都必须以更高的成本修复它。


0

不要仅仅因为可以就使用花哨的OOP功能!- YAGNI (你是不是要去需要它)

Use fancy OOP features因为它们对您要解决的问题具有特定且可证明的好处。你笑了,但是我一直都这样。大多数程序员从未遇到他们不喜欢的对象。我认为应该是另一回事:这些技术是有罪的,直到在KISS法院证明是无罪的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.