how to write excellent code
博客专区 > -鹏 的博客 > 博客详情
how to write excellent code
-鹏 发表于4个月前
how to write excellent code
  • 发表于 4个月前
  • 阅读 10
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 软件开发四个境界: 1.对项目的代码流程,分支非常熟悉,有问题的时候能够快速定位解决。 2. 你的代码对于你的同事来说容易理解。 3. 你的代码,同事能够快速上手就改,没有后顾之忧。 4. 你的代码就像艺术品一样,多一点太多,少一点又太少。

    Writting excellent code is really a tough thing. Theres is no shortcut and it's also impossible to say that if you follow the rules listed blow and then you could write such good code. But I discover some clues to achieve that superior level.

    

了解语言的本质,知道各种语言的适用场景。


三流的人懂框架
二流的人懂开发
一流的人懂原理

我们知道不同的语言所处理的事是不一样的,换句话说不同的语言有着各自的优势。 如果了解语言的本质,并且具有跨语言的能力,即语言不是你的障碍的时候,或许你可以说 “我做到了”。

 

举个例子:

    我们做一个项目,需要本地开发环境支持source map调试,同时本地需要支持mock数据(本地mock 和服务器mock两种),测试,UAT 和生产都需要请求不同的服务器。 如何实现上述的功能呢?

    如果你具备跨领域知识的时候,你会发现根据环境请求不同的接口根本不是我们考虑的,换句话说这是应该运维人员(也可以是充当运维角色的人)去配置才是合理的。 本地开发环境source map,同时支持mock,mock还是分两种的。其实这种最理解的解决方案是通过注入环境变量,这样除了开发环境都不会收到开发需求的影响。 

    类似的例子很多,比如我要做一个美图应用,应该用什么语言,我想做一个高并发的存储型的应用,做CPU密集型如何处理,我想收集用户数据,我想分析数据,我想展现用户的数据怎么做。这需要你对各个语言领域都有所了解,才可以作出稍微正确的解决方案。

 

 

好的代码拥抱变化

世界唯一不变的就是变化。

 将开放的通过配置集中起来,函数因子通常是不能修改的。也就是说代码虽然是拥抱变化的,但是函数因子却不可以拥抱变化(他比较害羞)

这就需要我们能够识别需求,转化需求。  要知道我们的系统是暴漏在外界充满欺骗的环境。要想你的代码安安稳稳, 就必须要一些干脏活累活的人。  如何界定系统边界,将脏活累活干干静静地甩出去,交给一个地方管理是非常重要的。 我们的精力是有限的,如果需求一变,你的代码也大变样,试问,你受得了吗?测试受得了吗? 你的代码受得了吗?

识别系统不变量,可变量。隔离系统依赖,合理组织代码结构,每次修改需求,只是修改系统边界代码和新添加模块, 这是杰出代码的特征。

精通数据结构

能够轻松识别项目中的O(n2)甚至更多复杂度的代码。能够在恰当时候使用正确的数据结构。有时候仅仅是数据结构改变下,代码实现就会很简单。有时候仅仅是数据结构改变下,性能会有很大提升。其实无非就是空间换时间,在可接受范围内尽可能提升性能减少时间。 前端这个行业其实也需要精通数据结构和算法,这就像所有的软件开发都会学计算机原理一样,有时候知道底层原理可以帮助你理解。更何况随着计算机的发展,现在好多应用越来越倾向于将计算放在前端,我之前的一个项目前端计算就比较密集。

参考:  《the progmatic programmer: from journeyman to master》32节: 算法效率

共有 人打赏支持
粉丝 18
博文 142
码字总数 91236
×
-鹏
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: