技术人员需要具备的思维

一线技术人每天面临的都是写需求、改缺陷、查工单,加班,长此以往。有时候不妨跳出来以一个旁观者的身份看一看自己,做一个需求前多问几个为什么?写一段代码前先理一下逻辑思路,需求发布以后想一下怎么维护扩展。最好的是让没做过这个需求的人也知道怎么处理,打破知识壁垒和人员壁垒),在这个域沉淀的东西如何复用到另外一个域。我们面临的业务是变化的但是做事的方法是有共性的,如何沉淀这些共性的做事方法才是做业务需求带来的最大成长

1、抽象能力---面向对象的编程来源

1)开闭原则,对于扩展是开放的,对修改是关闭的。通俗的讲,开闭原则就是软件功能可以扩展,但是软件实体不可以被修改。

实现办法:使用“策略模式”实现开闭原则、“适配器模式”、模板方法、观察者模式等等,关键是“抽象”,保证接口的随意扩展,应对到我们的代码修改中是重写还是可以扩展不改变原来的接口。---低耦合。

2)依赖倒置原则,高层模块不应该依赖底层模块,二者都应该依赖抽象。抽象不应该依赖具体实现,具体实现应该依赖抽象。开发更少依赖、更低耦合、更可复用的代码。

实现方法:就是高层抽象出一个服务接口,让底层依赖这个接口来实现,实现隔离底层和高层。---低耦合。

通过抽象,我们可以将大型、复杂的软件系统划分为一系列较小、更易于理解和开发的模块或组件。这些模块或组件可以封装特定的功能,屏蔽内部实现的复杂性,对外只提供必要的接口。这样做的好处是,可以使得不同的模块或组件可以独立开发和测试,提高了开发效率;同时,通过接口与外部交互,降低了模块间的耦合度,提高了系统的可维护性和可扩展性。

通过归纳法找共性有两种方法,分别是找需求的共性和找信息的共性。

2、分层能力---软件工程的银弹,也是系统正向梳理的要求

《金字塔原理》中的金字塔结构是提升结构化分层能力的理想模型。当面临一个复杂的问题时,我们可以将其拆解为多个子问题,并按照他们的逻辑关系将其组织成一个金字塔结构,顶层是最抽象的主旨,下面的每一层都是对上一层的具体化和支持。例如,在解决“如何提高广告产品竞争力”这个问题时,我们可以把它分解为“提高营销产品效果”、“优化产品设计”和“加强市场推广”等子问题,然后将这些子问题组织成一个金字塔结构。这种结构化分层的思维方式,不仅有利于我们更清晰、更系统地理解和解决问题,也有助于提升我们的结构化分层能力。

3、结构化、归纳

新增需求开发,是重写还是不破坏开闭原则的扩展

6、参考来源

一线技术人的成长思考总结-阿里云开发者社区

拥有这种抽象能力,让你成为架构师

阿里十年:我用十年的时间,学会成长

你可能感兴趣的:(学习方法)