架构师速成6.9-如何写好代码

读过很多代码,有些人写了5年以上的代码,但是代码烂到直接让人无从读起。有人写的代码让人读的赏心悦目,为什么人与人之间的差距这么大呢?

看来如何写好代码还是一件很值得一说的事情。

关键思想:

  1. 人写代码是用来给别人读的,而不是给机器执行的。写代码就应该像写小说一样,让人读的轻松愉快。

    • 软件的生命周期中,维护周期占1半以上,所以不看避免要有人来改动你的代码
    • 你如果更换工作岗位,你的代码需要别人接手
    • 如果你自己的代码,3天后自己都看不懂
    • 牛人的代码总是让你爱不释手
  2. 写代码需要注意层次的一致性,不要芝麻和西瓜混在一起。
    • 凳子,桌子,椅子,分子,床,你觉得那个不对
    • 再举一个做菜的例子:
      1. 洗菜
      2. 切菜
      3. 倒油爆炒
      4. 油温慢慢的从10度上升到60C,油分子之间间隙越来越大,油沸腾起来。油分子和菜分子之间产生了反应。
      5. 出锅。
    • 每个层级负责自己下面的7个子节点。
  3. 不要有过多的注释,你注释说明你怕别人看不懂。
    • 注释越多说明我越认真,但是有一天代码变了,注释把人害了。
    • 只需要写生成doc的注释
    • 方法名,参数和类名本身就是注释
  4. 一个团队必须有一致的编码风格,如果有人不能统一,特立独行,那么out。
    • 我要自由,我是不羁的风,那立刻给我刮走
    • 我牛,所以我不需要遵守,sorry,真的牛吗?
    • 我之前的公司没有编码规范,那是他们傻。
  5. 要有最佳实践,这个可以显著提高代码质量
    • 比如effective java
    • 比如 “abc”.equals(xxx)

有时间读一下重构,代码大全,你会爱上编码,编写诗一般的代码。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 08:55:18

架构师速成6.9-如何写好代码的相关文章

架构师速成6.9-怎样写好代码

读过非常多代码,有些人写了5年以上的代码,可是代码烂到直接让人无从读起. 有人写的代码让人读的赏心悦目,为什么人与人之间的差距这么大呢? 看来怎样写好代码还是一件非常值得一说的事情. 关键思想: 人写代码是用来给别人读的,而不是给机器运行的. 写代码就应该像写小说一样,让人读的轻松愉快. 软件的生命周期中,维护周期占1半以上,所以不看避免要有人来修改你的代码 你假设更换工作岗位,你的代码须要别人接手 假设你自己的代码,3天后自己都看不懂 牛人的代码总是让你爱不释手 写代码须要注意层次的一致性.不

架构师速成8.2-架构师要懂产品

产品和架构两个截然不同的职业,好像风马牛不相及,其实不是这样的.产品的思想需要经过技术的手来成为现实,在成为现实之前,需要技术理解.评估.碰撞.优化.把控.验证等等.当然架构师就承担了这一系列技术的责任,而且在一个产品的实现过程中,技术架构并不是很重要的,前期可以没有架构,简单快速验证,只有在用户多了之后,架构才有真正的用处.在初创公司,很多架构师都等不到用户多了的那一天,来实现自己的架构梦.所以产品这一关架构一定要把好,只有你把好了,后面才有机会让你去架构. 当然架构师的懂产品,是懂产品的生命

架构师速成4.2-幼儿园要学会如何高效学习

<如何高效学习>,这本书的作者是scotthyoung,最知名是的1年内自学完成4年麻省理工学院计算机科学的33门课程,同时也写了一个学习方法的Blog,他使用费曼技巧来加强理解和学习. 费曼技巧有很多种理解,最简单的是: 拿张白纸; 在白纸顶部写上你想理解的某想法或某过程: 用你自己的话解释它,就像你在教给别人这个想法. 最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点.但你最终会到达一个临界点,无法再解释清楚.那里正是你需要填补的知识缺口.为了填补这个缺口,你可以查课本

架构师速成5-小学

很高兴你很快的进入了小学,小学的东西会让你更加的耀眼. 阶段: 小学 学时:2-3个月 升学标准 能自己制定目标及计划,get thing done. 可以轻松制作一个让你身旁人惊叹的ppt 能做一个简单的网站(或者客户端软件),数据能保存到数据库. 实践经验干货来了. 先说ppt吧,这个上一期已经讲了,如果你ppt做到出神入化,基本不需要做架构这么苦逼的事情了.因为你很容易成为老板的心腹,军师,走上人生正道.作为一个苦逼的小学程序员,很羡慕吧.那就再努力学一下,不用多久,你就会升职加薪,当上总

架构师速成4.2-幼儿园要学会如何学习

<如何高效学习>,这本书的作者是scotthyoung,最知名是的1年内自学完成4年麻省理工学院计算机科学的33门课程,同时也写了一个学习方法的Blog,他使用费曼技巧来加强理解和学习.费曼技巧很简单: 拿张白纸; 在白纸顶部写上你想理解的某想法或某过程: 用你自己的话解释它,就像你在教给别人这个想法. 最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点.但你最终会到达一个临界点,无法再解释清楚.那里正是你需要填补的知识缺口.为了填补这个缺口,你可以查课本.问老师.或到互联网

架构师速成6.6-知识的收集整理学习

知识如何学习前面已经讲了2节,这节主要讲知识的整理和沉淀. 其实我之前也一直没有好好的思考过这个问题,今天在整理自己的wiz知识库的时候突发灵感,所以有了这一节. 其实知识获取的过程分为搜索->收集->整理->精化->应用->分享,前一部分跟时间管理的收集也很相近吧.知识获取的思路适用于有目的的知识收集和日常的备忘性的知识收集.当然你随机收集一些资料记录下来其实效果并不是很理想,重要的是你要有目的的学习才能最大的发挥你的心智以及潜意识.当你主动要学习一项知识时,你的潜意识会主

架构师速成-架构体系

经过这段时间的反思和整理,终于对架构有了一个较为明确的理解.架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程: 配置.编码.测试.运维.监控分析.安全.运营等一系列技术体系的选型.取舍 技术选型基础上进行规划.设计.实现.迭代.制定相关规范 相关技术及规范运用到产品开发的整个过程中,并在产品迭代过程中对架构进行迭代优化 架构不止包含技术的框架,比如有人用了spring就觉得我已经是架构师了,其实架构并不是这么简单.我们以做一个新浪微博类似产品为例,现实应该是这样的: 产品初

架构师速成7.3-devops为什么很重要

evops是一个很高大上的名字,其实说的简单点就是开发和运维本身就是一个团队的,要干就一起把事情干好.谁出了问题,网站都不行.作为一个架构师,必须要devops,而且要知道如何推行devops. 首先要自动化,举个阿里的例子,阿里通过aone系统来实现半自动化部署: 开发人员开发代码先自测通过后,提交代码到git. 在aone中一键部署到日常环境.部署是自动化扫描依赖冲突,系统安全等问题. 测试接到部署成功的通知,进行测试,如果测试通过,则审批通过,可以线上发布. 线上运维人员一键部署到线上,部

架构师速成8.3-架构师必须要了解的规则(转)

作为一个架构师,有些规则是必须要掌握的,这就想软件的公理,如果你学物理不知道牛顿定律,那就不要学了.在软件行业也有类似的东西,我称之为软件定律.例如: ACID,CAP,BASE ACID 传统数据库系统中,事务具有ACID 4个属性 (1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行. (2)一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态.这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据的完整性:事务