架构师修练 I - 超级代码控
可实现的是架构,空谈是概念 So don't tell me the concepts show me the code! “不懂编码的架构师不是好架构师” 好架构师都是超级代码控。
代码是最好的老师
基本准备
- 设计模式 - 最标准的23种设计模式基本上要有一个了解,可能一下子不能理解他们的用法,但一定要记下他们的英文名字和基本的用途,如:Factory, Wrapper (Decorator), Command, Builder等 。
- 语言规范 - 熟读语言本身的官方编码规范与命名规则,这是共同的标准,也是从官方得到写代码的第一指导。
- 要看懂UML中对类的图形表示方法(类、接口、抽象类、继承关系、使用关系)
看代码的方法
看命名
- TagBuilder - 以Builder模式实现的Html标记的构建器
- StringBuilder - 以Builder模式实现的字符串构造建器
- XXXXWriter - 以构建器模式实现的各种写入器
- ConnectionFactory - 数据库连接对象构造工厂
注:每一种基础语言会有自身的命名规则,所以必须对官方提供的命名规则烂熟于胸,既可以学习别人怎么写代码也可以规范自己的代码写法。
看接口
注:作为练习大家可以去下载我在NuGet上发布的一个名为 DotNetAge Document Storage 类库,里面就有Repository的实现
参考“最佳实践”
学
学习多种语言的动机
- 开拓视野,从不同语言中学习特有的设计理念
- 寻找与更新自己的 “最佳实践”
- 规避语言被淘汰的风险
开拓视野
我的论点是:不断学习各种语言,体验各种语言所带来的开发与设计的激情,开拓自我的视野才是一个架构师应走的路。架构师不单单是技术的选择者,而更应该是技术的整合者。
选择“最佳实践”
- ASP.NET 和 Java的思维方式与代码量差异不大,学习曲线最长、 Hosting 资源成本中等,但数据库Hosting成本高
- Php 相对前两者简单而且资源众多,Hosting 资源最多,成本最低
- NodeJS性能最高、学习曲线最短、代码量最少、资源也最多但Hosting 成本最高
成为 “O” 型架构师
学习多种语言的方法
- Delphi (1-5) (Object pascal) - 这是初恋 , 拥有最多的界面组件和最简单的可视化开发环境,VCL算是当时最好的选择。
- VB (2-6) - 最容易调用COM的语言也是做面向对象很苦B的一个了。
- C++ - 学得最差的
- java - 用来学面向对象的
- C# - 算是我最擅长的,也是做项目最多的
- Php - 只能算是懂一点
- javascript - 我最喜欢的动态弱类型语言。
- css/less - 最让我头疼 (有了Less会好一点)
- html/xml/xslt - 最容易建立方法论的标记性语言是最容易建立发散性思维与抽象思维的工具
- Objective-C 和 Swift - 现在在学的
感性认知
相互印证
长年的积累
写 - 疯狂的编码
- 易读 - 命名是否符合代码规范,所有接口是否全部代码都有注释
- 易用 - 每一个类,每一个方法都是架构师与程序员的UI,少参数,容易理解的设计可以大大减少沟通成本。
- 框架化 - 一个一个类写是很慢的事,要活用模式于代码中能同时构建出10几个或几十个类。
- 参考性 - 架构师不是程序员,写代码为的是固定核心功能与公共用法,便于成员开发。面对复杂的场景需要多写示例同时也是测试设计的易用性的方法。
- 为自己立项从现在起为自己而编码
- 多写代码片 - 对局部的理论进行实践,多写一些小的代码片段或实验程序,而按正式项目一样来对待。完整的记录,共享源码获得Feedback,有良好的注释。
- 模仿是学习与理解新事物的最佳捷径 — 可以去仿造某些项目,当深入其中可以更直接地理解设计者的最初设计想法,同时也可以得到一个仿造品(不是抄,仿造的目的是获得编码经验)
- 尝试使用模式并控制类的规模
小结
架构师之路是一条很漫长而且需要不断学习、思考与实践积累的道路。我只是走了这条路的一小段,以此总结与更多的朋友分享共勉。在下一篇文章中我将会从另一个角度来谈架构师的修改项目:表达力。希望有兴趣的朋友能给予更多的关注与反馈。
转载于:https://www.cnblogs.com/Ray-liang/p/3818385.html
架构师修练 I - 超级代码控相关推荐
- 架构师,是否需要写代码?
中生代高级架构师社群 读完需要 9 分钟 速读仅需 3 分钟 小编:架构师是否需要写代码,这个话题已经记不起从何时开始,在攻城狮圈内成为一个经常拿来讨论的话题,上周中生代深度交流群群友们对此问题做了有 ...
- 架构师究竟要不要写代码?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! Talk is cheap, show me the c ...
- 架构师前辈告诉你:代码该如何才能自己写得容易,别人看得也不痛苦
来源 | 编程新说 责编 | Carol 头图 | CSDN 下载自视觉中国 切身感受 在这个世界上,最难看懂的文档,永远是同事写的需求文档.最难看懂的代码,永远是同事写的业务代码. 我很纳闷,像Sp ...
- 阿里CTO程立:好的架构师,都是写代码写出来的!
阿里CTO程立在访谈中提到,好架构师都是写代码写出来的,PPT是架构师必备的一个技能. 关于这段访谈的文字版如下: "反正我认为架构师是要写代码的.首先的话,好的架构师都是写代码写出来的.本 ...
- 为什么 CTO、技术总监、架构师都不写代码,还这么牛?
作者| Mr.K 整理| Emma 来源| 技术领导力(ID:jishulingdaoli) 常常会被问到这样的问题:CTO.技术总监.架构师很少写具体代码,为什么还很牛逼的样子,拿这么高工资? ...
- #为何程序员百万年薪,CTO技术总监架构师不写代码还这么牛逼 ?
[此文章转自乐字节] 真的是一点不服气我的领导,每天就在座位上看看头条,到时间开开会,每天写代码的时间可能不到两小时,到底是为什么他的收入有年薪百万?我们都是985研究生毕业,是什么铸就了他的价值? ...
- 为什么CTO、总监、架构师都不写代码,还这么牛逼?
见字如面,我是军哥! 常常会被问到这样的问题:CTO.技术总监.架构师很少写具体代码,为什么还很牛逼的样子,拿这么高工资? 其实,这个问题本身就错了.就好比问:导演.制片人为什么不懂演戏,还能指导演员 ...
- 为什么CTO、技术总监、架构师都不写代码,还这么牛逼?
常常会被问到这样的问题:CTO.技术总监.架构师很少写具体代码,为什么还很牛逼的样子,拿这么高工资? 其实,这个问题本身就错了.就好比问:导演.制片人为什么不懂演戏,还能指导演员,好像比演员厉害似的? ...
- Mobvista首席架构师蔡超:工作感悟之失败与成功,我的8点总结
蔡超 读完需要 9 分钟 速读仅需 3 分钟 蔡超,Mobvista 技术 VP 兼首席架构师,SpotMax 云服务创始人.拥有超过 15 年的软件开发经验,其中 9 年任世界级 IT 公司软件架构 ...
最新文章
- 在CentOS 7中安装与配置Tomcat-8方法
- python里的体格是啥r_numpy.数组形状(R,1)和(R,)之间的差异
- centos oracle sqlplus,centos 下oracle sqlplus乱码问题解决
- 敏捷开发免费管理工具——火星人预览之七:自定义字段
- Linux下完全删除用户
- saltstack学习笔记
- 客气话要靠谱。比如公司业务一直没开展,却说学到了太多东西,那学的难道是怎样把公司搞死?
- 基于JAVA获取行政区边界坐标_基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标...
- 华为命令 hybird实验
- 人脸识别技术软件测试测什么,人脸识别这么火,你知道它是什么吗?
- 怎么用数学绘图软件制作正方体展开动画?
- 用html实现贪吃蛇游戏思路,贪吃蛇游戏
- java判断时间日期是否等于当前日期
- java中String s=abc及String s=new String(abc)详解
- 宇视2016c语言招聘试题,宇视科技2016年招聘试题.docx
- 大话赛宁云 | 演系列-超仿真网络空间“演武场”
- ceph osd为down的情况
- [ROC-RK3399-PC Pro] 手把手教你移植主线U-Boot(基于v2022.04-rc5版本)
- java期末考试复习题_java期末考试复习题及答案
- 概率论(三)- 全概公式逆概公式(贝叶斯公式)
热门文章
- boost::math::fisher_f用法的测试程序
- boost::leaf::capture用法的测试程序
- boost::geometry::srs::epsg用法的测试程序
- Boost:宏BOOST_TEST_CSTR_EQ的使用实例
- Qt Creator支持平台
- OpenGL fragmentlist片段列表的实例
- QT的QScriptEngineAgent类的使用
- c++函数模板和类模板
- Hive集成Tez引擎跑任务出现的问题(Java heap space问题)
- MySQL之长连接、短连接、连接池(转载:http://www.ywnds.com/?p=9801)