iOS资料程序员

好代码

2015-10-28  本文已影响1558人  MarkNote

看到某大神的一篇文章,说在思考怎样才能写出好代码。

我也顺着这个问题思考了一下。

这个问题貌似简单,但是要想说清楚,还不是一件容易的事呢。

首先一个问题:什么样的代码是好代码?

我认为好代码应该是各种质量属性都好的代码。这里偷了个懒,直接搬出了质量属性这个词。质量属性有很多,对于代码而言,以下几个属性比较重要:

首先是可维护性。好的代码必须易于维护。为了达到可维护性好的目标,现在很多人都认识到了易读性:好的代码命名考究,命名本身自然而明显,有意义,代码本身即是文档。易读性很重要,但是光易读也不一定易于维护。好的代码必须结构优良,易于扩展。要达到这个目标可不容易。代码必须基于良好的设计。遵循单一职责原则,每个类do one thing, do it better;遵循开闭原则,面向扩展开放,同时拒绝不合理的修改;代码应该模块化,每个单元隐藏实现细节,只暴露接口。对问题领域有深刻的认识,知道哪些可能会变,哪些不会变,对变化有所隔离。让核心的东西不依赖于变化。设计模式中很大一部分都是在处理变化和依赖的问题。

其次是性能。写代码的时候对代码运行时内存和时间开销应该有清晰的认识,杜绝不必要的网络请求,杜绝不必要的对象创建,选择最合适的数据结构和算法。最高境界是老子所言的done everything by doing nothing。

再次是安全。代码应该预见运行时会遇到的各种场景,对意外的情形有所准备,对恶意的行为有所防御。绝对不能因为用户一不小心输入几个特殊字符就挂了。

最后好代码当然必须是有用的,应该准确的实现其功能。

以上就是我对好代码的一点认识。不过说了半天,好像也没解决啥问题 :) 那就打个广告吧,这篇不短的文字我是用我的Marknote在iPhone上敲的,直接拷贝到简书上来。可惜简书iPhone 版不支持markdown,还好我没用太多格式:)

上一篇下一篇

猜你喜欢

热点阅读