当前位置:首页 > 日记 > 正文

我应该在代码中写一个注释吗

我应该在代码中写一个注释吗
当很多高级教育人员在年轻时写笔记时,当程序员写笔记脚本的时候网络已经满了,这是一个很有争议的话题。我们应该编写更多的代码,而不是更多的注释。

注释确实有它的用途,但在大多数情况下,程序员滥用注释,我反对代码之间的注释,我认为注释应该独立于代码——通常称为文档。

请看下面的代码部分。

复制代码代码如下所示:

/ / / *静态市场/ checkout.js

创建orzfly 2014.7.2

2014.7.29更新jysperm:fixbugs

待办事项:这段代码太多的注释和需要被删除,jysperm

* /

无功raw_products =请求查询{ }等级产品的分裂(',');

一系列货物

var产品= }

每个参数过滤器

对于(var i = 0,我的<< raw_products.length,i++){

如果(!raw_products {我})

返回;

数据出现在前面。

如果(!我raw_products { }。修剪())

返回

* 2014.7.22:现在可以使用非数字ID。

跳过非数字条目

如果(isnan(raw_products {我}。修剪()ToFixed())))

返回;

* /

Products.push(raw_products {我}。修剪()ToFixed());

}

总金额。

var总和= 0;

每种商品的货币数计算总数。

对于(var i = 0,我的<< products.length,i++){

从数据库中检查商品信息

VaR数据= db.product.byid(产品{我});

谁将写关于待办事项:没有检查货物

这个数字加在货币/货物的总价格中。

data.price总和=;

}
你花在阅读评论的一半以上的时间,这就是生命的东西浪费,每个代码中的注释,代码会——即使读者了解一个音符传达精神增加阅读成本;也会增加维护成本:对人的修改代码与注释一起改变,你不知道他会不会这样做。

因此,只有在必要的情况下,才应该添加注释,并且简明明了。注释不应该解释一段代码在做什么,因为这是每一个合格的程序员都应该知道的,但为什么我们要解释这段代码。

这导致了一些不应该添加的明显注释:

应该由版本控制系统记录的信息、对代码的注释和待办事项。那不是很重要。

代码不是全部。如果一个项目是可靠的,它应该有自己的版本控制系统。除了记录代码差异之外,它还应该具有工作表和发布功能。

读代码的人通常不需要知道程序员之间的敌意。他们常常不在乎这段代码的历史。他们只把代码拖走。

Discarded code

删除的代码应该删除,这会影响阅读,而且它们通常很长。

在大多数情况下,放弃的代码将不再被使用,即使只有少数情况下,您也可以从版本控制系统中找到它们。

变量和函数名的解释

显然,在这种情况下,您需要一个更合适的名称。如果标识符具有较小的函数,则可以使用较长的名称来容纳更多信息。

例如,下面的:

产品应改为products_id

总和应改为total_amount

数据应改为product_record

语法的解释和明显的东西

例如,在上述商品货币总数中添加的价格中,a = a=a是B的缩写,显然没有人知道。

也许有人愿意写这样的笔记来理清思路:

复制代码代码如下所示:

过滤参数:

删除ID空间

删除非数字标识

每一种商品流通:

检查记录/数据库

这个数字加到了货币{商品}的总价格中。
但记住在代码完成后删除它。

逻辑块的推广

例如,在上述情况下,过滤每个参数和计算每个商品的总金额,通常你不会抽象出逻辑。

复制代码代码如下所示:

要做的第一行25行代码

/然后有5行代码做B

这里有90行代码要做C

最后,有45行代码要做d
这将导致您需要一些注释来分割这四个部分。如果这四个部分都是函数调用,那么函数名本身就是逻辑的解释。读者可以很快地找到函数B,而不是搜索前25行中B的五行代码。

总之,我对这段代码的改进如下:

复制代码代码如下所示:

无功filterproductid =功能(raw_products_id){

结果= { }

raw_products_id.foreach(功能(product_id){)

如果(product_id和product_id.trim())

products_id.push(product_id.trim()ToFixed());

});

返回结果;

};

无功getpriceofproduct =功能(ID){

无功product_record = db.product.byid(产品{我});

如果(product_record)

返回product_record.price;

其他的

返回0;

};

无功products_id = filterproductid(需求,查询{ }等级产品。分裂(','));

无功tatol_amount = 0;

products_id.foreach(功能(product_id){)

tatol_amount = getpriceofproduct(product_id);

});
虽然我用一个虚构的、故意编好的代码来支持我的观点,但我相信在实际的项目中,我们也可以通过改进代码来减少注释,并且通常节省更多的时间和精力。

相关文章

珍惜QQ空间里的人的QQ空间

珍惜QQ空间里的人的QQ空间

空间,的人,珍惜,电脑软件,QQ,太空日志,写下生活的喜悦,酸甜,记录你自己的心情变化。 在一种感觉,如果你真的去一个人,你会想它。不是不信任,只是很多时候,因为我太在乎,太怕失去,一点点的疑问,并会不经意地忽略对不知所措的小;感到失落,充满了声音和颜…

JS获取JSON元素的方式

JS获取JSON元素的方式

元素,方式,电脑软件,JS,JSON,本文演示了JS获取JSON元素的数量的方法,供大家参考,具体实现方法如下: 复制代码代码如下所示: 无功keleyijson = {plug1 myslider 功能jsonlength(obj){ var大小= 0,键; 对于(关键在obj){ 如果(obj.hasownproperty(…

Javascript正则表达式中替换方法的详细解

Javascript正则表达式中替换方法的详细解

替换,正则表达式,方法,解决方案,详细,在前一篇文章中,我介绍了正则的四种基本方法,并在那时提到了替换方法。 让我们回顾一下替换方法的用法: 首先,定义了一个规则对象:var = 中间写匹配条件的条件; 替换():常规匹配字符串,如果匹配成功,则用新字符…

可爱卡通卡通女孩

可爱卡通卡通女孩

卡通,可爱,女孩,电脑软件,本教程是介绍给一个朋友,谁使用CDR绘制可爱的卡通外星女孩。这个补习班的女孩真的很漂亮,难度也不是很大。建议你喜欢你的朋友一起学习。 本教程教朋友们用CDR绘制可爱的卡通外星女孩。这个教程很难。卡通女孩是由相…

ppt的基本教程是什么

ppt的基本教程是什么

教程,电脑软件,ppt,微软PowerPoint,简称PPT,是由微软公司开发的一个演示程序,是微软办公系统的组成部分。它支持Mac OS X操作系统的微软windowsapple。最新版本的微软PowerPoint 2010为Windows和Mac 2011。 在微软PowerPoint,像大多数其他演示…

经典幽默与搞笑个性签名

经典幽默与搞笑个性签名

个性签名,幽默,搞笑,经典,电脑软件,姐姐是个文明人,所有脏话都用在唾液消毒上。 布莱克给了我一双黑色的眼睛,但我用它来转动白色的眼睛。 只需要一个妓女! 我杀了交配的两个苍蝇,该死的啊。 考试前一天晚上,我梦见上帝给我讲了一系列问题,让我睡…

如何为WPS演示设置WPS演示的主版本

如何为WPS演示设置WPS演示的主版本

设置,演示,何为,主版,电脑软件,今天,我找到了一个WPS演示文档,它让我笑了,哭了。本文档的作者设定了不同背景的演示文件中插入WPS演示pictures.50页!这个人真是超级佩服的耐心,首先,他需要重复的工作,每一个插入图片,并将调整的背景图像的尺寸和显…

烟花设计女性日主题宣传GIF动画

烟花设计女性日主题宣传GIF动画

动画,烟花,女性,主题,电脑软件,本教程是介绍如何用烟花来制作妇女节主题宣传GIF动画的过程,并且动画效果非常热烈。 我们对这个妇女节的主题表示衷心的祝福,并祝愿全世界的妇女都能美丽、自信、快乐、幸福。 在下面的例子中,我们提出了一个精…

悲伤的签名和伤感的签名

悲伤的签名和伤感的签名

伤感,悲伤,电脑软件,引导:把眼泪留给最伤你心的人,把微笑留给最伤你心的人。 首先,和你喜欢的人闲聊是件很开心的事。 二、两个人分手,一个是假装幸福,一个是真的难过。 三,以为你想成为一颗心,等你等着,眼睛还不够掩饰,如此诚实。 四、失恋不伤人,人…

ps的腐蚀金属写了大约30分钟的特殊

ps的腐蚀金属写了大约30分钟的特殊

腐蚀,写了,特殊效果,电脑软件,ps,本教程介绍了一个朋友PS创建腐蚀金属文字效果的方法。本教程制作的文本效果非常漂亮,只需要30分钟就可以完成,建议你喜欢的朋友一起学习教程。 萧边与你分享一个金属文字效果在PS,这可能需要30分钟来完成生产,…

CorelDRAW制作漂亮的编织效果

CorelDRAW制作漂亮的编织效果

效果,漂亮,电脑软件,CorelDRAW,本教程介绍一个朋友CorelDraw做出漂亮的编织效果。织造效果非常好。这个方法不是很难。建议你喜欢你的朋友一起学习。 今天的教程介绍朋友如何做出漂亮的编织效果和CorelDRAW制作步骤。本教程适合初学者学习,…

判断浏览器类型的Javascript方法

判断浏览器类型的Javascript方法

类型,方法,浏览器,电脑软件,Javascript,本文阐述了用javascript确定浏览器类型的方法,供大家参考,具体实现方法如下: var; var ua = navigator.useragent.tolowercase(); 警戒(UA); VaR的; (S = ua.match( / MSIE({ D. } +)/))sys.ie =的{ 1 }: (S = ua.match( / / Fi…