写代码与写文章

写代码和写文章非常相似,都利用电脑工作,都码字。判断一段代码好不好,能考评的也就是代码的格式,风格还有算法了,下面从这些方面来看看写代码和写文章是多么的相似。

格式

在写代码里主要指缩进,空格,空行,对齐等文本排版形式,这个是最最容易到达的一个代码好的指标,好多的IDE环境都是一键自动格式化。好的代码格式就像好的文章一样排版精美,段落清晰。代码的格式美观是形式美,是外在美。

/** 差的格式举例 **/
function swap(a, b)           {
var           c=a;
  a=b;
          b=c;
      }

/** 好的格式举例 **/
function swap(a, b){
    var c = a;
    a = b;
    b=c;
}

风格

作家写作有文风,编码也有码风,代码风格就包含更多的东西了,比如命名风格,比如实现方式。

码风其实和文风是很像的,比如鲁迅散文诗集<野草>中的第一篇,名为<秋夜>。第一段原文如下:“在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树。”那换一种文风来描述也可以是:“我家后院墙外种着两颗枣树。”

排除需要表达的深层含义,这两种文字都表达了我家后院有两棵枣树,达到的目的是一样的。无法是采用的词汇语句不一样而已,即使得文风不同。在编码的时候,码风也是这样形成的,相同的功能需求,不同的人来编写,代码基本也都不是完全一样的,因为每个人都有自己的码风,这个码风就体现在了变量的命名,循环语句的偏好(for还是while)等等等等。

举个不同码风的例子:

/** 数组求和 **/
function sum_for(arr){
    var sum = 0;
    for(var i = 0; i < arr.length; i++){
        sum += arr[i];
    }
    return sum;
}

function sum_while(arr){
    var sum = 0, i = arr.length;
    while(i--){
        sum += arr[i];
    }
    return sum;
}

算法

写文章会有一个提纲一个骨架。写代码也是一样的,不过我们称之为算法,算法决定了整个代码的行文走向,是悲剧还是喜剧。如果你想写篇文章,因为你有个很好的想法需要表达给你的读者,但是由于你词句匮乏,成语还错用,写出来的文章就会总是文不达意。相同的写代码有时候也会文不达意,因为for语句的语法规则没弄清楚,处理流程便会出现了预期结果不一致的结果,这个时候我们称之为BUG了。算法是一段代码的灵魂思想,正如一篇文章,尽管文风平实,但思想深邃,构思巧妙,发人深省,影响深远。好的算法也有这种魅力,码风平实,但用途广泛,小如快速排序,泛如动态规划,好的算法甚至可以流芳百世,如好的小说被翻译成各国语言,好的算法也会被各种编程语言实现。编程语言说到底是一种表达工具,是为了表达我们心中的算法的工具。如果写代码只追求格式与风格(码风),毫不理会算法设计,那么就会像写文章只追求排版与辞藻却毫无思想,读完也会空洞无力。所以算法就像代码的灵魂,是一种内在的美。

现实的世界

现实的世界与理想的世界不同,不过写代码又一次神似写文章了,我们好多的程序员也是复制粘贴,引用第三方类库,自己组织的部分也仅仅是小部分,底层研发的程序员在业界也总是占小部分。从事编辑工作的大部分工作也是编辑转载,原创的编辑也是少之又少。

最后

虽然上面几段我把算法是夸了又夸,推崇至极,但是如果你和我一样都是创造不了伟大算法的那种平凡人,也就是我们只能在代码格式和代码风格上多做努力的朋友们。咱们晦涩难懂的码风还是少写一些,做程序员要厚道!以上纯属娱乐~~欢迎大家提供更多有趣的相似点

转载于:https://www.cnblogs.com/binking338/p/4882964.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值