简单非简陋

 


软件开发活动是把需求转换为服务的过程,这个服务的目的是解决某一类问题,它可以是一个方案,也可能是一个APP,或者是一个玩具,等等。

软件开发活动的核心资产是人的大脑,经过大脑的认知和消化,才能有所产出,即使是C(Ctrl+C)V(Ctrl+V)党,所以要想开发出高质量的软件,需要的是人才而不是人力。

对于参与软件开发活动的开发人员来讲,要认知到自身在软件开发活动中的站位,设计出简单而非简陋的框架,编写出简洁而非简陋的代码。

以复杂性为耻

软件开发活动过程中,最经常听到的一个词是抽象,抽象解决的就是复杂性的问题。

我们反过来先看看,抽象的反面就是具象。具象本身并没有错,但是基于具象进行软件设计往往会有问题。

在软件开发活动的初始阶段,基于具象的设计并没有错,但是随着开发活动的开展,基于具象的设计往往会陷入为了解决问题而引入更多的具象设计,带来灾难性的连锁反应,从而引入无法理解的复杂性。

软件开发活动需要不断的反思和重构,从而保证抽象性,为长远做打算。

软件开发人员应该以复杂性为耻,一段复杂的代码可能会花费大量的努力,但找对努力的方向更重要。

深度思考

抽象的过程实际上是思考的过程,软件开发过程的核心仍然是思考,思考,再思考。

业界统计,程序员日均代码行数也就几十行,再多也不足百行,软件开发人员的工作最终体现在编码上,但更多的时间是在沟通和思考。

  •  
  •  
  •  
  •  
《重新定义公司》
如果雇用员工只是为了让他们工作,那么这种钳制信息的传播方式可能还能有效。但在互联网时代,我们雇用员工是让他们进行思考的。

更深层次的思考可以带来对问题的更多理解,通过 思考 → coding → 思考 → ... 的反复迭代,让设计更简洁,更抽象。

合于“道”

  • 理解机器

    • 程序语言设计的设计本身就是为了解决与机器沟通的问题,使用的仍然是人类的思维表达,用人的思维方式来理解机器。

  • 站在前人的肩膀上

    • 牛顿说过:“如果说我比别人(笛卡尔)看得更远,那是因为我站在巨人的肩膀上”,软件设计也是这样。

  • 选择合适的刀

    • 语言多种多样,选择趁手的;模式,算法选择合适的

  • 自然

    • 一生二,二生三,三生万物,找到那个“一”

     

 

(↓ - 有些内容只在小龙家发,可关注同名“趣Python”号,谢谢 - ↓) 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值