软件工程

学习##

真理汲取自经历体验,

真正鲜活的学习是依靠自己的理解、聆听、领悟、反思得到的觉知和觉悟。

1.理解的越多,需要记录的越少。只记录基本原理和最精髓的知识,或者空白,不要做无效的抄录。

2.抽象分层思维和隐喻类比手段可以提高学习效率。

3.费曼学习法,能够用简洁清晰的语言解释给别人。

4.学有所用,知识转化为技术,最终转化为习惯。

5.构建自底而上的知识树,具有宏观清晰的视野和对细节的把握。


技术##

技术无外原理与细节,只防不陷入琐碎。能入细入精者,亦是乐其人生之道。


设计##

设计就是未行而先知。

系统思考与结构化思考是融合众家武学为我所用的设计内功。

数据结构与算法、设计模式是增强程序设计内功的秘籍。

在编程之前,

从组件的视角,一切业务逻辑皆可组件化,将系统的业务逻辑应尽可能分解为可复用逻辑组件和定制逻辑组件,通过组件构建软件。

关注点分离。遵循单一职责及小而美原则,创建可复用的工具和组件,更易测易复用而不易出错,也会更容易组合和扩展。

抽象与分层。能够细致思考抽象与分层,做出的设计和写出的代码往往更加简洁优雅。构建合适的抽象与分层,流程与交互会更清晰可读。

防御式编程。牢记错误无孔不入。一个流程或功能有哪些潜在的错误以及如何处理好,是区分合格程序员与优秀程序员的一大依据。


编程##

编程是一件很纯粹的事情。组合一系列指令,能完成指定的单个功能模块。

编程也是对思维的磨砺,必须将模糊不清的细节清晰化,不如此就完成不了作品。


软件##

软件是编程与工程的混合体。

软件开发可以分为两个层次: 组件,以及组件连接的系统全景图。

组件就是积木,好的积木稳固健壮,有更好的槽口设计,能够更容易地与其他积木组合拼接成多样的形状。

将组件连接成软件系统更像堆积木,需要工程技术,工程技术关注的是组件之上的系统集成层,要考虑组件之间的良性连接、组合和可维护、可扩展性。

posted @ 2021-03-14 22:46  豆芽熊  阅读(22)  评论(0)    收藏  举报