Java程序设计指南

     

设计软件最重要的目标是可理解性?

72 1 2K

当您设计一款软件时,设计时最重要的一点就是可理解性。安全性、性能和正确性都很重要,但它们次优于可理解性。被误解的软件会产生Bug缺陷如果软件的实施者和维护者对软件存在误解,那么软件最终就会出现缺陷。主.

从 Java 迁移到 Go 后的想法

78 3K

分享看从 Java 迁移到 Go 的人的经验,特别是在后端服务器端项目方面。网友讨论:我之前在做后端 Go 工作,现在在做后端 Java 工作。构建项目很容易(Go 更容易),易于使用依赖项,并且易于.

编程120句格言

111 6K

1.一个人的常量就是另一个人的变量。2.函数延迟绑定;数据结构诱导绑定。寓意:在编程过程的后期对数据进行结构化。3.句法糖会导致分号癌。4.每个程序都是其他程序的一部分,很少有合适的程序。5.如果一个.

Go中切片slice与Java中集合区别?

63 3K

Go 中的切片和 Java 中的集合都是用于存储和操作多个值的容器类型。它们之间有一些关键区别:Go中的slice:底层实现:切片是对底层数组的轻量级封装,包含了对底层数组的引用、长度和容量。切片是对.

何时停止设计并启动实施编程? - Alter

770 2

我们希望有一个策略,能让我们决定何时停止设计,开始实施编程,同时优化成本函数。 启发式#1:有足够的 "已知的知识"。你是否有最小的知识来带来价值?你的项目可能是庞大的;因此,有许多需求,可能有些需求.

2022 年有意义的Java面试题 – Galovics

1538 2 3K

关于 2022 年或前几年的 Java 面试问题有很多内容。在本文中,我将向您展示我在 2022 年的几个 Java 面试问题以及我的观点。 从Cassandra迁移到PostgreSQL问题是这样的.

单一职责原则:软件世界中最重要的规则 - DZone

1914 1 2K

单一职责原则SRP,这是整个软件世界中最重要的单一规则。它几乎可以在我们系统的所有级别上看到:从单个类到整个应用程序(无论使用的规模和架构如何)设计。 什么是单一职责原则可能你们中的大多数人将 SRP.

幽默:程序员的花洒设计

647 17K
第一行注释:一个花洒应该如何工作:需要精确的温度值第二行注释:花洒真正工作机制:温度是否满足条件? .

程序员观点:过度思考的三种毒

1525 1 2K

过度思考也就是想得太多,过于注重理性计划,该文是 Rust 和 Go Bloom 的创造者 和Black Hat Rust 的作者博文:我曾经是一个病态的过度思考者。一切都必须仔细计划,从我对面包师说.

软件设计需要隐藏大部分决策 - fchollet

799

软件中没有显性或隐性之类的东西,软件必须做出大量决策,作为最终用户,您只能指定其中的一小部分,好的软件会显示您关心的决定并处理其余的决定。99% 的决定总是要隐藏起来,隐性只是软件工具的默认、通用状态.

幽默:简单几点说明日常编程中的软件设计或程序设计

947 3

软件设计或程序设计不只是算法设计,还有模式结构的设计,体现在:  - 将模块分组到架构层是设计。  - 将类分组为模块是设计。  - 将函数分组为类是设计。  - 重命名变量是设计。 设计和用户体验有.

软件设计的目标是创建适合人类思维的切片分块 - KentBeck

1563 1

软件设计的目标是创建适合人类思维的块或切片。软件一直在增长,但人类的思维会达到极限,因此,如果要继续进行软件更改,我们必须进行切片和分块。这意味着软件设计实际是人为人自己提供技术支持的过程(人类互助).

幽默:四大设计原则要点

1253

稳健性原则:保守你发送的内容;在您接受的事情上保持自由。(banq注:说话谨慎,倾听自由,注重函数方法的返回结果,严谨且明确,输入参数则需要兼容抗打击)帕累托原理:80%的影响来自20%的原因。(ba.

核心领域模式 -Nick Tune

2074 2 2K
时间和资源是有限的,在开发软件系统时,我们如何花费有限时间并利用有限资源解决最根本、最困难的挑战?在我们可能要做的所有事情中,我们应该做什么,我们应该投资多少质量和严格度?对于软件工程师来说,自然的趋.

瀑布和迭代可混合:敏捷定义者Martin Fowler定义瀑布法

5194 1 3K
在软件世界中,“瀑布”通常用于描述一种软件过程样式,该样式与迭代样式或敏捷样式的思想形成对比。像软件中的许多著名术语一样,其含义不明确且来源不明确-但我发现其基本主题是根据活动将大量工作分解为多个阶段.

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

1985 1

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

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

2072 3 2K

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

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

1272 2

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

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

888

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

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

1562 2 4K

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

对于Pipe管道之爱 - jessfraz

1136 3 2K

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

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

1 1124 1 2K

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

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

945 3K

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

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

2273 1

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

这不是你想要的DRY

1017

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

错误的抽象

1341

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

复制粘贴比依赖更好

1 2684 2

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

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

4280 1

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

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

770

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