软件工程
学习##
真理汲取自经历体验,
真正鲜活的学习是依靠自己的理解、聆听、领悟、反思得到的觉知和觉悟。
1.理解的越多,需要记录的越少。只记录基本原理和最精髓的知识,或者空白,不要做无效的抄录。
2.抽象分层思维和隐喻类比手段可以提高学习效率。
3.费曼学习法,能够用简洁清晰的语言解释给别人。
4.学有所用,知识转化为技术,最终转化为习惯。
5.构建自底而上的知识树,具有宏观清晰的视野和对细节的把握。
技术##
技术无外原理与细节,只防不陷入琐碎。能入细入精者,亦是乐其人生之道。
设计##
设计就是未行而先知。
系统思考与结构化思考是融合众家武学为我所用的设计内功。
数据结构与算法、设计模式是增强程序设计内功的秘籍。
在编程之前,
从组件的视角,一切业务逻辑皆可组件化,将系统的业务逻辑应尽可能分解为可复用逻辑组件和定制逻辑组件,通过组件构建软件。
关注点分离。遵循单一职责及小而美原则,创建可复用的工具和组件,更易测易复用而不易出错,也会更容易组合和扩展。
抽象与分层。能够细致思考抽象与分层,做出的设计和写出的代码往往更加简洁优雅。构建合适的抽象与分层,流程与交互会更清晰可读。
防御式编程。牢记错误无孔不入。一个流程或功能有哪些潜在的错误以及如何处理好,是区分合格程序员与优秀程序员的一大依据。
编程##
编程是一件很纯粹的事情。组合一系列指令,能完成指定的单个功能模块。
编程也是对思维的磨砺,必须将模糊不清的细节清晰化,不如此就完成不了作品。
软件##
软件是编程与工程的混合体。
软件开发可以分为两个层次: 组件,以及组件连接的系统全景图。
组件就是积木,好的积木稳固健壮,有更好的槽口设计,能够更容易地与其他积木组合拼接成多样的形状。
将组件连接成软件系统更像堆积木,需要工程技术,工程技术关注的是组件之上的系统集成层,要考虑组件之间的良性连接、组合和可维护、可扩展性。

浙公网安备 33010602011771号