软件设计美学的几个要点

软件的总体设计美学: 1)简单:为了每个人的利益,找到最简单的问题形式。这适用于所有级别。简单意味着专注于一件事。这种关注于一件事的自然结果是紧凑性。您可以通过询问“这个问题的哪些陈述包括我们关心的所有内容并排除我们不关心的所有内容?”来找到问题的简单形式。然后“总结该声明中包含的所有数据的简洁方法是什么?”。如果您的问题有任何“复杂性”,那么我们将要将其缩减为许多可以很好地协同工作的简单部分。 2)模块化:将简单的问题陈述划分为一组广义的子问题,这些子问题最容易自然地表达完整的图像。每个子问题由程序逻辑的一个“模块”解决。这有很多好处,但最突出的是它允许您一次关注问题的一个方面。这使得解决复杂问题成为可能,并且可能是普遍“分而治之”战略的基础。 3)正交性:分离是简单性在问题分解中表达的方式。当两个东西是正交的时,它的字面意思是它们是“平行的”,因此可以独立地改变。软件模块的独立性是以最小的努力产生最大杠杆的手段。这些正交模块也应该简单,再一次意味着集中在一件事上。如果这种关注成功,那么模块应该获得表达,可测试性和可重用性的自然清晰度。 4)可组合性:为正交的简单模块设计干净的接口,使它们可以相互配合,也可以与任何其他系统配合使用。在设计接口时,支持简单和通用的i / o格式,旨在为将来调用模块的程序员提供最不令人惊讶的用户体验。使用简洁描述模块的单一焦点的命名约定。

原文发布于微信公众号 - Linyb极客之路(gh_c420b2cf6b47)

原文发表时间:2018-11-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

一文读懂云计算,所有常用术语

云计算:云计算指的是交付计算即服务(或者交付结果中包括计算架构),而不是产品。资源共享,软件和信息通过网络(企业内网、互联网或者二者的结合)供计算机或者其他设备...

23810
来自专栏云计算D1net

如何构建一个更好的云安全模型

公共云的自助服务提供模式带来了许多好处,但当然也破坏了传统的IT服务器配置模式。现在,开发人员可以通过信用卡自行分配资源,企业安全团队也为他们的工作做了切实的工...

3718

云监控入门

原文作者:Angela Stringfellow

34711
来自专栏腾讯高校合作

小程序这13大新能力,将对你产生什么影响?

微信公开课“小程序专场”,微信团队带来两项全新能力——“第三方服务”和“附近的小程序”。 至此,小程序近期一共开放了13项新能力。对于用户来讲,会带来哪些影响呢...

3346
来自专栏北京马哥教育

【重磅】大众点评运维架构图文详解 @高效运维

本文根据高效运维系列群「运维讲坛」的嘉宾分享整理而成。运维讲坛,邀请国内运维领域优秀技术专家作为分享嘉宾,其中线上分享每周一次,线下沙龙活动每月一次。欢迎点击上...

5634
来自专栏JAVA高级架构

京东架构专家分享京东架构之路

京东咚咚架构演进 咚咚是什么?咚咚之于京东相当于旺旺之于淘宝,它们都是服务于买家和卖家的沟通。 自从京东开始为第三方卖家提供入驻平台服务后,咚咚也就随之诞生了。...

4709
来自专栏云市场·精选汇

“功能直达”全面开放,小程序新一轮竞争开始!

微信宣布“功能直达”正式开放,商家与用户的距离可以更“近”一步!用户微信搜一搜功能词,搜索页面将呈现相关服务的小程序,点击搜索结果,可直达小程序相关服务页面。

1515
来自专栏知晓程序

全球人民在玩什么 App?这份排行榜来告诉你

1163
来自专栏SDNLAB

Aviatrix挑战思科、VMware的公共云网络服务

公共云网络创业公司Aviatrix推出了一项托管服务来在三大云环境中构建和管理虚拟私有云(VPC)网络:亚马逊网络服务(AWS),Microsoft Azure...

1277
来自专栏喔家ArchiSelf

智能家居系统的开源尝试

随着智能音箱的热卖,各种各样的智能家庭解决方案也如雨后春笋,但大多数都需要专业人员和熟练工作人员来安装/部署这些解决方案。此外,这些解决方案大多无法顺利融入已有...

1214

扫码关注云+社区