想成为一名合格Android架构师,你需要掌握这几种设计准则

  • 时间:2019-08-22 02:17 作者:Android丶SE 来源:Android丶SE 阅读:112
  • 扫一扫,手机访问
摘要:经常有人问到怎样样才算一名合格的架构师,又需要掌握哪些设计准则呢?今天我们来着重分析一下要成为一名架构师,必需掌握的 10 条设计准则。一、遵循单一职责准则函数是程序员的工具中最重要的笼统形式。它们能更多地被重复使用,你需要编写的代码就越少,代码也因而变得更可靠。较小的函数遵循单一职责准则更有可能被

经常有人问到怎样样才算一名合格的架构师,又需要掌握哪些设计准则呢?
今天我们来着重分析一下

要成为一名架构师,必需掌握的 10 条设计准则。

一、遵循单一职责准则

函数是程序员的工具中最重要的笼统形式。它们能更多地被重复使用,你需要编写的代码就越少,代码也因而变得更可靠。较小的函数遵循单一职责准则更有可能被重复使用。

二、尽量减少共享状态

应该尽量减少函数之间的隐式共享状态,无论它是文件作用域的变量还是对象的成员字段,这有利于明确要求把值作为参数。当能明确地显示函数需要什么才可以产生所需的结果时,代码会变得更容易了解和重用。

对此的一个推论是,在一个对象中,相对于成员变量,你更应该优先选择静态的无状态变量 (static stateless variables)。

三、将“反作用”局部化

理想的反作用(例如:打印到控制台、日志记录、更改全局状态、文件系统操作等)应该被放置到单独的模块中,而不是散布在整个代码里面。函数中的少量“反作用”功能往往违背了单一职责准则。

四、优先使用不变的对象

假如一个对象的状态在其构造函数中仅被设置一次,并且从不再次更改,则调试会变得更加容易,由于只需构造正确就能保持有效。这也是降低软件项目复杂性的最简单方法之一。

五、接口高于类

接收接口的函数(或者其余语言中的模板参数和概念)比在类上运行的函数更具可重用性。

六、对模块应用良好的准则

寻觅机会将软件项目分解成更小的模块(例如库和应用程序),以促进模块级别的重用。对于模块,应该遵循的少量关键准则是:

  • 尽可能减少依赖
  • 每个项目应该有一个明确的职责
  • 不要重复自身
  • 应该努力使你的项目保持小巧和明确。

七、避免继承

在面向对象编程中,继承 – 特别是和虚拟函数结合使用时,在可重用性方面往往是一条死胡同。我很少有成功的使用或者编写重载类的库的经历。

八、将测试作为设计和开发的一部分

个人不是测试驱动开发的坚定分子,但开始编码时先编写测试代码会使得代码十分自然地遵循许多指导准则。这也有助于尽早发现错误。不过要注意避免编写无用的测试,良好的编码实践意味着更高级别的测试(例如单元测试中的集成测试或者特征测试)在揭示缺陷方面更有效。

九、优先使用标准的库

经常看到更好版本的 std::vector或者 std::string ,但这几乎总是白费时间和精力。一个显著的事实是 – 你正在为一个新的地方引入 bug,其余开发者也不太可能重用你的代码,由于没有被广泛了解、支持和测试。

十、避免编写新的代码

每个程序员都应遵循的最重要的教诲:最好的代码就是还没写的代码。你写的代码越多,你将遇到的问题就越多,查找和修复错误就越困难。

在写一行代码之前先问一问自己,有没有一个工具、函数或者者库已经实现了你所需要的功能?你真的需要自己实现这个功能,而不是调用一个已经存在的功能吗?

好了,文章到此就结束了,假如需要Android方面的学习文档,架构资料,视频教学欢迎加我的QQ交流群:892872246

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】极客时间-数据分析实战45讲【完结】(2021-09-02 16:26)
【系统环境|windows】字节跳动前台面试题解析:盛最多水的容器(2021-03-20 21:27)
【系统环境|windows】DevOps敏捷60问,肯定有你想理解的问题(2021-03-20 21:27)
【系统环境|windows】字节跳动最爱考的前台面试题:JavaScript 基础(2021-03-20 21:27)
【系统环境|windows】JavaScript 的 switch 条件语句(2021-03-20 21:27)
【系统环境|windows】解决 XML 数据应用实践(2021-03-20 21:26)
【系统环境|windows】20个编写现代CSS代码的建议(2021-03-20 21:26)
【系统环境|windows】《vue 3.0探险记》- 运行报错:Error:To install them, you can run: npm install --save core-js/modules/es.arra...(2021-03-20 21:24)
【系统环境|windows】浅谈前台可视化编辑器的实现(2021-03-20 21:24)
【系统环境|windows】产品经理入门迁移学习指南(2021-03-20 21:23)
血鸟云
手机二维码手机访问领取大礼包
返回顶部