如何看待不会写代码的架构师?

简介:

入行十几年和很多架构师打过交到,绝大部分的架构师在具备超强的架构能力的同时,同时还兼具强大的编码能力,而且会的编程语言还挺多,从程序员的角度认知,架构师还是需要懂一些代码实现的原理对于架构整体架构还是非常有好处的。毕竟程序代码架构和代码的实现性能息息相关,所以架构不能脱离开代码的实现而单独存在,当然也见过专注于框架,不去在意具体代码的实现,可能是见识浅薄的原因,相对来讲还是非常少。

3fcab3c6143a3f8bb3fee05ed1e3d23de1146dbd

当今软件的发展分工是越来越精细,对于架构师来讲安心做好框架方面的东西,不关心底层的实现在一定程度上反而有助于提升整体软件体系结构,框架主要体现以下几个方面

1.可扩展性,兼容性

一个好的框架在后续加入新的功能之后,可以有机的结合在一起,新的功能的增加还能和之前的旧的功能有兼容性,两者之间不会因为新的功能的增加而引起冲突,后续再次添加新的功能不需要大范围的改变框架,在国内很多软件公司由于前期工期赶得比较紧迫,后面再次添加新的功能需要改动的东西非常多,导致框架的兼容性不够,成为大家都不敢动的马蜂窝。

5dcaee69eba441d8e3f7399cb9a7bc2461dec78c

2.健壮性

好的框架支持多个功能的同时不能因为功能多,导致性能的下降,这都是需要在设计之初需要考虑的事情,不能因为功能太多,导致整体系统的性能下降太多,里面在设计的时候就需要引入共享池的概念,大家一起共用,同时采用预加载的方式提升效率问题

3.有生命力

好的框架用上几年也不会显得过时,有前瞻性东西,用了几年还能不落伍继续使用,设计之初必须考虑未来几年负载承受能力,这样在大规模的功能上线之后的几年内框架还能支撑住,未来新的未知功能还能继续支撑,这算是架构的最高境界。

e83452e21302e52678334e015518e27c45c2deb8

满足上述三条至于是不是有编码能力其实已经不是很重要的事情了,相对来讲懂得写代码在架构的时候显得更加接近地气,但容易思维受到限制,关键还是看结果。

希望能帮到你。


原文发布时间为:2018-10-7

本文来自云栖社区合作伙伴“程序员互动联盟”,了解相关信息可以关注“程序员互动联盟”。

相关文章
|
17天前
|
存储 测试技术 数据库
谈谈代码:降低复杂度,从放弃三层架构到DDD入门
最近我发现团队某项目的复杂度越来越高(典型的三层架构),具体表现为: - 代码可读性较差:各个服务之间调用复杂,流程不清晰 - 修改某服务业务代码导致大量无关服务的测试用例失败,单个功能开发者很难迅速定位相关问题 - 测试用例特别难编写,需要mock大量数据来拉起整块服务
113 4
谈谈代码:降低复杂度,从放弃三层架构到DDD入门
|
17天前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
160 2
|
4天前
|
数据管理 测试技术 持续交付
构建高效微服务架构:策略与实践代码之美:简洁性与可读性的平衡艺术
【5月更文挑战第27天】在现代软件开发中,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文将探讨构建高效微服务架构的关键策略,包括服务划分、通信机制、数据管理以及持续集成与部署。通过实际案例分析,我们将讨论如何在实践中应用这些策略,以提高系统的性能和可靠性。 【5月更文挑战第27天】在软件开发的世界中,编写出既简洁又具有高可读性的代码是一种艺术。本文将探讨如何在保持代码简洁的同时,不牺牲其可读性和可维护性。我们将深入分析几个关键原则和实践技巧,并配以示例来阐明如何实现这种平衡。文章的目标是为开发者提供实用的指导,帮助他们在编码时做出明智的决策,以提升代码质量。
|
6天前
|
架构师 持续交付 开发者
代码之禅:从模块化到架构的艺术
【5月更文挑战第26天】 在软件开发的不断进化中,技术栈的深化与技术的模块化构建始终是提升项目可维护性与扩展性的核心。本文将探讨如何通过细致的模块化设计和系统架构思考,实现从代码编写细节到整体架构布局的升华。我们将透过实战案例,深入剖析模块化的重要性,以及它如何影响系统的可维护性、扩展性和性能优化。
|
12天前
|
机器学习/深度学习 存储 并行计算
深入解析xLSTM:LSTM架构的演进及PyTorch代码实现详解
xLSTM的新闻大家可能前几天都已经看过了,原作者提出更强的xLSTM,可以将LSTM扩展到数十亿参数规模,我们今天就来将其与原始的lstm进行一个详细的对比,然后再使用Pytorch实现一个简单的xLSTM。
30 2
|
17天前
|
存储 设计模式 数据库
字节3-1大佬分享:字节跳动代码架构设计
字节3-1大佬分享:字节跳动代码架构设计
37 0
|
17天前
|
前端开发 开发者
【专栏】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。
【4月更文挑战第29天】BEM(Block-Element-Modifier)是一种前端命名规范和架构方法,旨在创建清晰、可维护的代码结构。它包括Block(独立功能单元)、Element(Block的子元素)和Modifier(表示状态或变体)。BEM的特点包括命名一致性、模块化设计、清晰结构和可复用性,适用于代码组织、样式管理、组件化开发和团队协作。虽然命名较长和学习成本是其局限性,但BEM在提升代码质量和效率方面具有显著优势,是前端开发的重要工具。
|
17天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
17天前
|
缓存 监控 算法
Python性能优化面试:代码级、架构级与系统级优化
【4月更文挑战第19天】本文探讨了Python性能优化面试的重点,包括代码级、架构级和系统级优化。代码级优化涉及时间复杂度、空间复杂度分析,使用内置数据结构和性能分析工具。易错点包括过度优化和滥用全局变量。架构级优化关注异步编程、缓存策略和分布式系统,强调合理利用异步和缓存。系统级优化则涵盖操作系统原理、Python虚拟机优化和服务器调优,需注意监控系统资源和使用编译器加速。面试者应全面理解这些层面,以提高程序性能和面试竞争力。
25 1
Python性能优化面试:代码级、架构级与系统级优化
|
17天前
|
程序员 Python
类的设计奥秘:从代码到架构的科普全解
类的设计奥秘:从代码到架构的科普全解
16 2