这绝对是主观的,但我想尽量避免它变成争论。我认为如果人们恰当地对待它,这将是一个有趣的问题。

这个问题的想法来自于我对“你最讨厌的语言的哪五件事?”问题的回答。我认为c#中的类在默认情况下应该是密封的——我不会把我的理由放在这个问题上,但我可能会写一个更完整的解释来回答这个问题。我对评论中的讨论热度感到惊讶(目前有25条评论)。

那么,你有什么有争议的观点?我宁愿避免那些基于相对较少的基础而导致相当宗教的事情(例如,大括号放置),但例如可能包括“单元测试实际上并没有多大帮助”或“公共字段确实是可以的”之类的事情。重要的是(至少对我来说)你的观点背后是有理由的。

请提出你的观点和理由——我鼓励人们投票给那些有充分论证和有趣的观点,不管你是否恰好同意这些观点。


当前回答

开发人员应该能够在不获得任何人许可的情况下修改产品代码,只要他们记录了他们的更改并通知了适当的方。

其他回答

对于一个优秀的程序员来说,语言不是问题。

这可能不是很有争议,但我听到很多其他程序员的抱怨,比如“为什么他们不都用delphi?”,“c#糟透了”,“如果他们强迫我用java,我就会换公司”等等。 我所认为的是,一个好的程序员是灵活的,能够用他一生中可能不得不学习的任何编程语言编写好的程序

一个优秀的开发人员需要知道的不仅仅是如何编码

让您的业务逻辑远离DB。或者至少,保持它非常精简。让DB做它应该做的事情。让代码做它应该做的事情。时期。

If you're a one man show (basically, arrogant & egotistical, not listening to the wisdom of others just because you're in control), do as you wish. I don't believe you're that way since you're asking to begin with. But I've met a few when it comes to this subject and felt the need to specify. If you work with DBA's but do your own DB work, keep clearly defined partitions between your business objects, the gateway between them and the DB, and the DB itself. If you work with DBA's and aren't allowed to do your DB work (either by policy or because they're premadonnas), you're very close to being a fool placing your reliance on them to get anything done by putting code-dependant business logic in your DB entities (sprocs, functions, etc.). If you're a DBA, make developers keep their DB entities clean & lean.

软件开发只是一份工作

不要误解我,我非常喜欢软件开发。在过去的几年里,我写了一篇关于这个主题的博客。我在这里花了足够的时间获得了5000声望点。我在一家初创公司工作,通常每周工作60个小时,工资比我作为承包商的工资要少得多,因为团队很棒,工作很有趣。

但从大局来看,这只是一份工作。

它的重要性低于许多事情,如家庭、女朋友、朋友、幸福等,也低于其他如果我有无限的现金供应,我宁愿做的事情,如骑摩托车、驾驶游艇或滑雪。

我认为有时候许多开发者忘记了开发只是让我们拥有生活中更重要的东西(通过做一些我们喜欢的事情来拥有它们),而不是最终目标本身。

我的一个:

长开关语句是你的朋友。真的。至少在c#中是这样。

人们倾向于避免和不鼓励其他人使用长switch语句,因为它们“不可管理”和“具有糟糕的性能特征”。

好吧,在c#中,switch语句总是自动编译为哈希跳转表,所以如果你需要简单的分支到多个分支,实际上使用它们是性能方面的最佳选择。同样,如果case语句被智能地组织和分组(例如按字母顺序),那么它们就不是无法管理的。