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

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

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

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


当前回答

你的工作就是让自己失业。

当您为您的雇主编写软件时,您所创建的任何软件都应该以这样一种方式编写,即任何开发人员都可以使用它,并且可以用最少的努力理解它。它设计良好,编写清晰一致,格式化干净,在需要的地方有文档记录,按照预期每天构建,检入存储库,并进行了适当的版本控制。

如果你被公共汽车撞了,被解雇了,被解雇了,或者离开了工作岗位,你的雇主应该能够在片刻的通知中取代你,下一个人可以接替你的角色,拿起你的代码,最多在一周内启动并运行。如果他或她不能做到这一点,那么你就失败了。

有趣的是,我发现有了这个目标,我对雇主来说更有价值了。我越努力成为可有可无的人,我对他们就越有价值。

其他回答

我坚信非托管代码不值得这么麻烦。与查找内存泄漏相关的额外维护性开销(即使是最好的程序员偶尔也会引入这种开销)远远超过从c++这样的语言获得的性能。如果Java, c#等不能得到你需要的性能,买更多的机器。

在很多情况下,使用正则表达式解析HTML是可以的

Every time someone posts a question on Stack Overflow asking how to achieve some HTML manuipulation with a regex, the first answer is "Regex is a insufficient tool to parse HTML so don't do it". If the questioner was trying to build a web browser, this would be a helpful answer. However, usually the questioner wants to do some thing like add a rel tag to all the links to a certain domain, usually in a case when certain assumptions can be made about the style of the incoming markup, something that is entiely reasonable to do with a regex.

绝大多数正在开发的软件在收集需求时不涉及最终用户。

通常只是一些经理提供“需求”。

许多开发人员对在哪里放置东西没有充分的认识,导致在文件、类和方法级别上源代码组织混乱。此外,相当一部分这样的开发人员基本上对代码组织问题一无所知。试图教导、哄骗、威胁或羞辱他们保持代码干净是徒劳的。

在任何一个非常成功的项目中,通常都有一个开发人员,他有良好的组织意识,非常安静地对代码库进行扫把,以防止混乱。

清理和重构在(团队)开发中非常重要

A lot of work in team development has to do with management. If you are using a bug tracker than it is only useful if someone takes the time to close/structure things and lower the amount of tickets. If you are using a source code management somebody needs to cleanup here and restructure the repository quite often. If you are programming than there should be people caring about refactoring of the lazy produced stuff of others. It is part of most of the aspects some will face while doing software development.

大家都同意这种管理的必要性。而且它总是被跳过的第一件事!