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

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

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

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


当前回答

微软应该停止支持任何与Visual Basic有关的东西。

其他回答

80%的bug是在设计阶段引入的。 其余80%是在编码阶段引入的。

(这一观点的灵感来自于Dima Malenko的回答。“开发80%是关于设计,20%是关于编码”,没错。“这将产生几乎零错误的代码”,不。)

goto有一些(非常少)合法的用途(特别是在C中,作为异常处理的替身)。

依赖管理软件弊大于利

我在Java项目中工作过,其中包括超过100个不同的库。在大多数情况下,每个库都有自己的依赖项,而这些依赖库也有自己的依赖项。

像Maven或Ivy这样的软件应该通过自动获取每个库的正确版本,然后递归获取其所有依赖项来“管理”这个问题。

问题解决了,对吧?

错了。

下载库是依赖项管理的简单部分。困难的部分是创建软件的心理模型,以及它如何与所有这些库交互。

我不受欢迎的观点是:

如果你不能口头解释,在你的头脑中,你的项目中所有库之间的基本交互,你应该消除依赖直到你可以。

同样地,如果列出从某个函数直接或间接调用的所有库(及其方法)所用的时间超过10秒,那么您在管理依赖关系方面做得很差。

您应该能够轻松回答“我的应用程序的哪些部分实际上依赖于库XYZ?”

当前的依赖关系管理工具弊大于利,因为它们很容易创建极其复杂的依赖关系图,而且它们实际上没有提供减少依赖关系或识别问题的功能。

我见过开发人员包含了10或20 MB的库,在项目中引入了数千个依赖类,只是为了消除几十行简单的自定义代码。

使用库和框架是很好的。但成本总是存在的,掩盖成本的工具本身就是有问题的。

此外,有时(注意:当然不总是)通过编写一些小的类来实现您所需要的东西比引入对大型通用库的依赖更好。

糟糕的IDE会让编程语言变弱

优秀的编程ide确实使某些语言的工作更容易,更好地监督。在我的职业生涯中,我有点被宠坏了,我工作的公司总是有最新的Visual Studio可供使用。

在过去的8个月里,我一直在做很多关于Cocoa的工作,而Xcode编辑器使得使用这种语言变得非常困难。重载很难找到,处理打开文件的整体方式只会让你的屏幕非常混乱,非常快。这真的很遗憾,因为Cocoa是一种很酷且功能强大的语言。

当然死忠的Xcode粉丝现在会投票否决我的文章,但是有很多ide确实更好。

人们正在转向IT行业,而这些人本不该转向IT行业

这是从我去年的一篇博客文章中复制/粘贴的。


我的经验主要是关于荷兰市场的,但也可以适用于任何其他市场。

我们(我将所有软件工程师归为一类)目前处于一个对我们非常有利的市场中。公司正拼命地想要得到软件工程师(从现在开始),无论价格如何。如果你现在换工作,你几乎可以要求任何你想要的东西。在荷兰,现在有一种趋势,甚至给两辆租赁车一份工作,只是为了让你为他们工作。这有多奇怪?我怎么能同时开两辆车?

当然,这听起来对我们来说很好,但这也造成了一个非常不健康的局面。

例如: 如果你目前正在为一家快速发展的公司工作,你正试图吸引更多的同事,最终从地面得到一些严肃的软件开发,没有人能找到不提供天价薪水的人。寻找优秀的同事是非常困难的。很多人被我们这种工作所吸引,因为高薪,但这也意味着很多没有正确激情的人正在进入我们的市场。

Passion, yes, I think that is the right word. When you have passion for your job, your job won’t stop at 05:00 PM. You will keep refreshing all of your development RSS feeds all night. You will search the internet for the latest technologies that might be interesting to use at work. And you will start about a dozen new ‘promising’ projects a month, just to see if you can master that latest technology you just read about a couple of weeks ago (and find an useful way of actually using that technology).

如果没有这种激情,市场可能看起来很好(因为汽车、金钱,当然还有我们吸引的辣妹),但我认为,只要是消防员或战斗机飞行员,市场就不会那么有趣。

听起来我是在保护自己的工作,这在一定程度上是对的。但我也在努力保护自己不受我不想共事的人的伤害。我想就我读到的东西进行热烈的讨论。我希望能够与那些对工作有同样“热情”的人进行辩论。我希望同事与我共事是出于正确的原因。

我要找的人在哪里!!