#软件设计

      更多分类

鲍勃大爷调查提问:两者哪个更昂贵?A.在代码中添加难以更改的功能。B.保持代码足够灵活性以轻松添加新功能。

19-11-09 300 1 banq

众说纷纭: 灵活性可能导致更多的设计时间和复杂性。这个词本身看起来不错,但没那么简单。 我现在正在(艰难地)学习到,随着复杂性的增加,维持软件项目中的变化速率变得越来越困难。如果我可以回去一年,我... 详细

软件设计专家的八种习惯 | 麻省理工学院出版社

19-10-09 612 3 banq

最好的设计师在工作时会采用特定的习惯、可学习的实践以及遵守的原则。 是什么成就软件设计专家?传统回答是经验和天生的能力,这无法让人满意,尽管它包含了真理的要素,但它所提供的东西很少,我们无法从中学习... 详细

识别不必要的复杂性是软件开发中最重要的技能之一

19-06-12 252 2 banq

什么是复杂性?如何识别?是不是无为就不会造成复杂性?有些复杂性是过早设计带入,但是有些复杂性是因为没有及时识别与意识到,造成更大的复杂性!如同自己绕毛线,绕得越多,自己被扰进去了! 识别到复杂性,... 详细

软件设计是隐形设计,主要受众是其他设计师 - Mathias Verraes

19-06-06 48 banq

决策者一般习惯于设计能够产生可见结果的东西:事物外形,用户界面,功能,体验,但是他们很难理解为什么他们应该关心软件设计。(这是说给甲方 或老板听的) 软件设计也会对用户产生影响。如果软件的模型与业... 详细

把我的单体架构还给我! - Craig Kerstiens

19-03-14 634 2 banq

感觉现在是微服务炒作周期的高峰期,看到一篇博客文章“如何将我的巨石迁移到150个服务”。现在我经常听到更多的反击:“我不讨厌我的巨石,我只关心事情保持高效”。我们实际上看到了一些从 微服务 迁移 回... 详细

对于Pipe管道之爱 - jessfraz

19-01-23 217 3 banq

我最常用的shell命令是"|"。这称为管道。 简而言之,"|"允许一个程序(左侧)的输出成为另一个程序的输入(在右侧)。这是一种将两个命令连接在一起的方法。 例如,如果我要运行以下内容: ech... 详细

按合同设计 - 了解有关OOP的新内容 Marcell Lipp

19-01-13 1 181 1 banq

在我学习计算机科学的过程中,我遇到了所谓的Hoare逻辑。它的主要思想是,对于每个命令/程序,您可以定义前提条件和后置条件。这些是逻辑表达式。在启动程序之前必须满足前提条件。主要是检查所有输入是否在... 详细

类型是软件设计的基本工具

19-01-02 68 banq

本文来自tedinski,类型与函数哪个是设计基础?数据结构和算法是设计基础吗? 函数与类型的关系,打个比喻,有点像建筑师想要进行室内设计。并不是说房间的内部并不重要 - 一个糟糕的建筑师绝对可以创... 详细

fish:Linux中比bash或zsh更好用的Shell

18-12-29 429 1 banq

fish是一个智能且用户友好的命令行shell,适用于macOS,Linux和其他家族。fish包含语法突出显示、根据你键入字符自动提示autosuggest-as-type和花式选项卡完成等功能,... 详细

这不是你想要的DRY

18-12-24 29 banq

“ 不要重复自己 DRY”,每个开发者都在他职业生涯的早期就学会了这个口头禅。 对这个原则的共同理解是你不应该复制你的代码。就那么简单。 不要复制,如果你发现重复就重构。 违反此规则的行为将被其他开... 详细

错误的抽象

18-12-24 72 banq

复制比错误的抽象便宜得多(代价小成本低),宁可重复而不选择错误的抽象。 让人们意识到“错误的抽象”这个问题是很难: 程序员A看到重复。 程序员A提取重复并为其命名。 这创建了一个新的抽象。它... 详细

复制粘贴比依赖更好

18-12-24 1 217 2 banq

人们过于害怕代码重复,过于憧憬可复用可重用的美好,导致对代码重复发起了一场神圣的战争。如今人们提出了不同的意见,在Twitter上引起了一场争论: “我呼吁结束针对代码重复的神圣战争。我们让年轻的... 详细

停止使用Dry原则!替代以WET原则

18-12-19 241 banq

Dry是Don't Repeat Yourself简写,我们经常会听到像 “不要重复自己” 这样的陈词滥调。我们采取这样的想法并与它们一起运行,有时候有点太过分了。我们来看看DRY编程的另一种意识形... 详细

消极架构和关于代码的假设 - Matthias Noback - 博客

18-12-18 78 banq

在Michael Feathers的 消极架构 中,他列举了Haskell(函数式编程)中提到IO Monad作为一个例子,在面向对象编程中也有类似的例子,通过使用分层和依赖注入等原则,你也可以“保... 详细

共有 611 2 3 4 ... 5 下一页