软件设计的事实、法则、条例、定义

本文摘录了《简约之美-软件设计之道》中关于软件设计的原则与实践,强调了简洁性和用户友好性的重要性,探讨了好程序员与差程序员的区别,并提出了有效的软件设计方法。

曾经有同事在讨论需求的时候提过一句话,“你做这个功能的时候,要把用户想成傻子“,我当时的理解是,用户不一定是懂我们设计的产品,我们做出来的产品越简单,他们才能用的越方便。后来看书、学习、工作,慢慢的觉得,我们做事,做产品有很多规律可以遵循。这些规律可以指导我们,少走弯路。以下是我在看书的时候,摘过来的一些软件设计的事实、法则、条例、定义,但这些也只是冰山一角,需要逐渐的学习、积累

事实

  • 有可能发生异常的地方一定要打日志,否则出现问题很难排查
  • 任何软件都有BUG
  • 好程序员和差程序员的差别在于理解力,差劲的程序员不理解自己做的事情,优秀的程序员则相反
  • 每个写代码的人都是设计师
  • 软件设计是有规则可循的,他们可以被认识,可以被理解,规则是恒久不变的,是基本的事实,而且确实可行
  • 如果设计让事情更复杂,而不是更简单,就犯了过度工程的错误
  • 简洁是相对的
  • 所有可行的简化,其核心问题都是:怎么做,才可以让事情处理或是理解起来更容易

规则

  • 软件的目的就是帮助其他人
  • 测试定律:你对软件行为的了解程度,等于你真正测试它的程度

条例

  • 好程序员应当竭尽全力,把程序写得让其他程序员容易理解
  • 直到真正要用了才编写代码,清理掉用不到的代码
  • 最好的设计,就是能适应外界尽可能多的变化,而软件自身的变化要尽可能少
  • 代码可读性主要取决于字母和符号之间的空白排布
  • 名字应当足够长,能够完整表达其意义或描述其功能,但不能太长,以免影响阅读
  • 如果你真的希望成功,最好是把产品简化到傻子也能懂
  • 简洁离不开设计
  • 未来的某些事情,是我们不知道的
  • 你可以这样增加复杂性
    扩展软件的用途
    新增程序员
    做无谓的改变
    困于糟糕的技术
    理解错误
    糟糕的设计或者不做设计
    重新发明轮子
    背离软件设计的用途
  • 通常,如果某件事情变得非常复杂,也就意味着深藏在表面的复杂之下,设计出了问题
  • 在复杂性面前,问问自己“真正要解决的问题是什么?“
  • 要应付系统中的复杂性,可以将系统分解成独立的小部分,逐步重新设计
  • 除非亲自测试过,否则你不知道软件是否能正常运行

定义

  • 程序就是,给计算机的一系列指令;计算机依据指令进行的操作

摘自《简约之美-软件设计之道》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值