美文网首页谈技术想法简友广场
没有课程或大师会告诉你的编程中的 10 个硬道理

没有课程或大师会告诉你的编程中的 10 个硬道理

作者: 技术的游戏 | 来源:发表于2023-01-06 22:28 被阅读0次

这很可怕。

1. 会变的。

在软件开发过程中,一切都变化很快,构建的软件本身会产生新的需求,而项目需求的满足又会创造新的市场。

换句话说,问题的解决会产生对问题的更清晰的理解。在这种情况下,有关软件功能及其支持的业务的新可能性被打开。

2. 会失败。

无法确定特定软件在未来是否会继续工作,因为它所涉及的条件是不可预测的(与它共存的软件的更新、硬件更新,甚至是计算机的日期和时间)。

有必要避免对失败的可能性持乐观态度,因为它们很可能会发生。另一方面,认为系统用户会“合乎逻辑地”或连贯地使用它是无稽之谈。通常,我们会惊讶地发现我们永远不会想到的错误。

3. 它将被维护

您创建新软件的时间比维护它的时间少得多。因此,我们的很大一部分开发工作将集中在保留可能是第三方或其他人的代码的代码上。

4. 每个系统都有一个目的

我们常常忘记,我们正在创建的不是一组变量和代码行,而是它在我们创建它们的编程语言之外具有特殊的意义和相关性。我们必须考虑我们的系统对业务的贡献或它们将能够解决的问题,而不是简单的技术实体。

5. 不要重复自己

“不重复”规则指出,代码的某些部分不应在整个代码中重复使用相同、“几乎相同”或类似的功能。即使它在技术上可行并给出正确的结果,它也会增加“软件退化”的程度(软件崩溃直到其功能不再适用的时间)。

6. 关键是“他做了什么”而不是“他是怎么做的”

在面向对象的编程中,设计元素时,主要通过元素的属性和方法来表示“它做什么”和“它们是什么”。它还通过组合、继承或消息的发送和接收等技术确定它们与其他元素(或类)的关系。

这样,通过关注“What it does”,我们对系统及其需求有了更清晰的了解,我们还将构建一个更具扩展性的系统(因为我们不关注“How it does it”)。此外,我们甚至将有更多的可能性连接到其他系统,因为这些系统的限制和连接器更加明确。

7. 对象第一,数据库第二

启动系统最合适的方法是设计构成我们系统的对象或类。在发明之初,我们有一个想法,即我们要如何做事。这个想法可能是不完整的;我们越进步,我们就会越了解。

我们可以根据需要降低抽象级别。我们还可以使用对象关系,层次结构(继承)或包含(一个对象包含另一个或多个对象)。最后,也是最重要的一点是,数据与操作(功能)密切相关,因此系统的设计也是如此。

8. 热情传授知识;没有热情的知识是无用的

没有热情的知识是随意的,很少能变成一门好生意。创造有意义差异的功能性工具和系统。

在大多数情况下,唯一可以没有热情地做的事情就是我所说的“学校作业”,根据像食谱这样的明确说明在技术上正确的程序,但在实践中绝对没有用,这是不可能的进入自然的工作环境。最终,知识,尤其是这个行业的知识,已经过时了。

9. 今天的警告是明天的错误(没有警告的程序)

我在处理各个工作组进行的代码维护时,发现在编译时,警告的数量过多(荒谬的是200多甚至更多)。随着时间的推移,警告越来越多,没有人费心去审查,随着编码人员移动系统,警告越来越多。

10. 如果不容易,那就是做得不好

软件开发往往会变得复杂到非常复杂。按时完成项目并非易事。与工作团队、供应商或资源的关系很复杂。我们必须控制这种复杂性,牢记我们所做的一切都在执行“如果不容易,那就不好”的规则。

如果你喜欢我的文章,点赞,关注,转发!

相关文章

网友评论

    本文标题:没有课程或大师会告诉你的编程中的 10 个硬道理

    本文链接:https://www.haomeiwen.com/subject/bdgjcdtx.html