博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
how to write excellent code
阅读量:6185 次
发布时间:2019-06-21

本文共 1419 字,大约阅读时间需要 4 分钟。

hot3.png

    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节: 算法效率

转载于:https://my.oschina.net/wanjubang/blog/1494254

你可能感兴趣的文章
zepto $.ajax()返回的XHR对象 promise接口总结
查看>>
bootstrap - panel + collapse + accordion + well
查看>>
JavaScript简单分页,兼容IE6,~3KB
查看>>
如何进行页面优化?
查看>>
【二次元的CSS】—— 纯CSS3做的能换挡的电扇
查看>>
使用ossaudiodev播放音频
查看>>
浅析JVM之内存管理
查看>>
CoreData整理(一)——基本概念与简单使用
查看>>
利用Python调用HBASE
查看>>
python socket编程之基本流程
查看>>
mysql字符乱码
查看>>
Mysql之一:mysqldump和LVM逻辑卷快照
查看>>
JAVA之带转义字符的json字符串解析
查看>>
Mac上搭建Xcode9.0+appium1.6.5过程及链接模拟器测试app
查看>>
Linux常用命令和快捷键
查看>>
Windows Mobile 6.1模拟器发布,欢迎下载!
查看>>
centos7配置haproxy
查看>>
DHCP服务器的配置与实例
查看>>
PHP在64位Windows2003和IIS下运行
查看>>
惠普电脑诉讼门:矛盾的数字 背后的秘密
查看>>