代码如人生——修窗户的思考

Posted Ariel_欢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码如人生——修窗户的思考相关的知识,希望对你有一定的参考价值。

代码如人生,如果生活中的事情都处理不好,那怎么写好代码呢?如果生活中事情的逻辑都搞不清楚,怎么能保证写的代码是逻辑清晰的,符合开闭的呢?

1、问题背景:

窗户的把手由于用力不当或长期使用,导致把手的螺丝处松动,把手损坏。

2、引发哪些思考?

①把手的螺丝处松动,把手损坏的原因是什么?
②怎样开窗关窗才能避免导致把手损坏?
③开窗关窗的正确姿势以及其逻辑和原理?

④把手处的螺丝松动导致把手损坏,可以怎么修呢?

3、自己是怎么思考这些问题的?自己的解决方案

①把手的螺丝处松动,把手损坏的原因是什么?

  • 窗户的设计:短螺丝钉,螺丝钉孔未穿透窗户而是嵌在窗户的中间层,这样把手的受力只能集中再窗户的这一面;且依靠的是螺丝钉与打的孔之间的摩擦力来固定把手,这样会导致孔逐渐变大摩擦力变小,而导致固定不住把手
  • 开窗关窗的姿势不正确导致用力不当、用力过猛,从而导致把手处螺丝松动把手损坏

②怎样开窗关窗才能避免导致把手损坏?

  • 观看开窗关窗的视频,正确的开窗关窗户。
  • 要了解开窗关窗的逻辑和原理

③开窗关窗的正确姿势以及其逻辑和原理?

  • 开窗:把手垂直90度,然后向外推开,再向后拉回来一点固定住——支撑结构的“锁住”
  • 关窗:先向外推一点解开支撑结构的“锁住”,然后再往回拉,拉回来之后把手横向右方90度
  • 逻辑和原理:开窗关窗都是有“锁扣”的,要先解开锁扣再进行开窗/关窗。

④把手处的螺丝松动导致把手损坏,可以怎么修呢?

  • 由于原来打的孔变大变松动,我们可以在这个孔外边加一个铁皮做螺丝和孔的隔离,使得铁片分担部分摩擦力
  • 原来的孔变大了,我们可以尝试用一个大的螺丝拧上

4、采用什么方案解决的?有什么好处?

  • 螺丝钉孔穿透窗户,使用长螺丝钉,可以在窗户的另一面增加螺母固定,这样把手的受力是整个窗户,受力点大了,不易损坏,而且即使把手坏了也不需要换孔,只需要重新安装一个把手的壳子即可。

5、结合生活中的这个例子,可以和哪些知识结构化

  • 面向对象——解耦合,复用,可维护
  • 如何学习?——无限思维,不将就

6、有哪些收获?

①不将就是发现的源动力:

  • 可以是这样,还可以是怎样…;

②无限思维:

  • 运动的、连续的、相对的、无限的去思考问题,不能静止的只看眼前的这个问题。
  • 可以是这样,还可以是怎样…;

③复用——可维护,符合开闭原则

  • 原来修窗户的方式是孔坏了再打新的孔,导致窗户上很多坏的孔,孔都不能复用,长远来看,之后的窗户上全是不能用的孔导致没有位置再打孔的时候,就需要换窗户。
  • 现在的维修方案:螺丝钉孔穿透窗户,使用长螺丝钉,可以在窗户的另一面增加螺母固定,这样把手的受力是整个窗户,受力点大了,不易损坏,而且即使把手坏了也不需要换孔,只需要重新安装一个把手的壳子即可。

④组合——改为聚合

  • 解耦合,更灵活

以上是关于代码如人生——修窗户的思考的主要内容,如果未能解决你的问题,请参考以下文章

代码如人生——修窗户的思考

程序员修炼之道:从小工到专家--拾忆

技术就是一层窗户纸-于无声处看大神

防止窗户打开

代做毕业设计1:智能窗户模型

窗户上的qyoto