11步提高代码质量和整体工作效率

news2024/8/29 12:03:07

操作方法

  • 01

    这是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的11件事情。

  • 02

    1. 永远不要复制代码不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事 在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。现代的编程语 言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用lambdas却很好实现:/// <summary>/// 一些函数含有部分重复代码/// </summary>void OriginalA(){        DoThingsA();        // unique code        DoThingsB();}/// <summary>/// 另外一个含有部分重复代码的函数/// </summary>void OriginalB(){        DoThingsA();        // 没有重复的代码        DoThingsB();}现在我们重构含有部分相同代码的函数,用delegate模式重写它们:/// <summary>/// Encapsulate shared functionality/// </summary>/// <param name="action">User defined action</param>void UniqueWrapper(Action action){        DoThingsA();        action();        DoThingsB();}/// <summary>/// New implmentation of A/// </summary>void NewA(){        UniqueWrapper(() =>        {                // unique code        });}/// <summary>/// New implementation of B/// </summary>void NewB(){        UniqueWrapper(() =>        {                // unique code        });}

  • 03

    2. 留意你开始分心的时候当你发现自己在浏览facebook或微博、而不是在解决问题,这通常是一种你需要短暂休息的信号。离开办公桌,去喝一杯咖啡,或去跟同事聊5分钟。尽管这样做看起来有点反直觉,但长久去看,它会提高你的工作效率。

  • 04

    3. 不要匆忙赶任务而放弃原则当带着压力去解决一个问题或修改一个bug,你很容易失去自制,发现自己匆匆忙忙,甚至完全忘了一直坚持的重要的测试过程。这通常会导致更多的问题,会让你在老板或同事眼里显得很不专业。

  • 05

    4. 测试你完成的代码你知道你的代码能做什么,而且试了一下,它确实好用,但你实际上需要充分的验证它。分析所有可能的边界情况,测试在所有可能的条件下它都能如期的工作。如果有参数,传递一些预期范围外的值。传递一个null值。如果可能,让同事看看你的代码,问他们能否弄坏它。单元测试是到达这种目的的常规方法。

  • 06

    5. 代码审查提交你的代码之前,找个同事一起坐下来,向他解释你做了哪些修改。通常,这样做的过程中你就能发现代码中的错误,而不需要同事说一句话。这比自己审查自己的代码要有效的多得多。

  • 07

    6. 让代码更少如果你发现写了大量的代码来解决一个简单的问题,你很可能做错了。下面的boolean用法是一个很好的例子:if (numMines > 0) { enabled=true; } else { enabled=false; }这时你应该写成这样:enabled = numMines > 0;代码越少越好。这会使bug更少,重构可能性更小,出错的几率更小。要适度。可读性同等重要,你可不能这样做而使代码丧失可读性。

  • 08

    7. 为优雅的代码而努力优雅的代码非常的易读,只用手边很少的代码、让机器做很少的运算就能解决问题。在各种环境中都做到代码优雅是很难的,但经过一段时间的编程,你会对 优雅的代码是个什么样子有个初步的感觉。优雅的代码不会通过重构来获得。当你看到优雅的代码是会很高兴。你会为它自豪。例如,下面就是一个我认为是优雅的 方式来计算多边形面积的方法:static public double GetConvexPolygonArea(Vector2[] vertices){        double area = 0;        for (int i = 0; i < vertices.Length; i++)        {                Vector2 P0 = vertices[i];                Vector2 P1 = vertices[(i + 1) % vertices.Length];                area += P0.Wedge(P1);        }        return area / 2;}

  • 09

    8. 编写不言自明的代码勿庸置疑,注释是编程中很重要的一部分,但能够不言自明的代码跟胜一筹,因为它能让你在看代码时就能理解它。函数名变量名要慎重选择,好的变量/方法名字放到语言语义环境中时,不懂编程的人都能看懂。例如:void DamagePlayer(Player player, int damageAmount){        if (!player.m_IsInvincible && !player.m_IsDead)        {                player.InflictDamage( damageAmount );        }}能自我说明的代码不能代替注释。注释是用来解释“为什么”的,而自我说明的代码是来描述“是什么”的。

  • 10

    9. 不要使用纯数字直接把数字嵌入代码中是一种恶习,因为无法说明它们是代表什么的。当有重复时更糟糕——相同的数字在代码的多个地方出现。如果只修改了一个,而忘记了其它的。这就导致bug。一定要用一个命名常量来代表你要表达的数字,即使它在代码里只出现一次。

  • 11

    10. 不要做手工劳动当做一系列动作时,人类总是喜欢犯错误。如果你在做部署工作,并且不是一步能完成的,那你就是在做错事。尽量的让工作能自动化的完成,减少人为错误。当做工作量很大的任务时,这尤其重要。

  • 12

    11. 避免过早优化当你要去优化一个已经好用的功能代码时,你很有可能会改坏它。优化只能发生在有性能分析报告指示需要优化的时候,通常是在一个项目开发的最后阶段。性能分析之前的优化活动纯属浪费时间,并且会导致bug出现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://bk.xjx100.cn/news/181353.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

爱奇艺vr体验怎么样(爱奇艺vr一体机)

随着5G、AI等核心前沿技术的发展,以及如今人人挂在嘴边的“元宇宙”概念,VR产业终于有点迎来第二春的意思了。从2016年的爆火,大厂人人争先,到2018的遇冷,资本避之不及,VR产业过山车一样的发展历程令人唏嘘。不过即便是寒冬之中大家其实也没有彻底对VR失去信心,大家都明…

怎样把图片转成cad图(如何将图片转换成cad图纸)

日常生活中我们经常会在网站下载一些图片元素想转成CAD,但是靠手动画实在麻烦,而且本人确实有想当艺术家的想法但是没有能当艺术家的手艺啊!平平无奇的一天,我沉浸在我白日梦里的时候,领导发来指示,希望我能将他辛苦截的图做成CAD图纸!肯定有人会问截图能比做图纸还辛苦…

图片转换成pdf格式在线转换(图片转PDF转换器)

在我们日常需要处理的大量文件中,PDF文件应该是其中最多的文件格式了,主要原因是PDF在传输过程中不会出现格式错乱等问题,而且PDF文件便于下载与保存,不会因为在不同的设备上打开而变化,所以我们经常需要将各种文件转换成PDF文件,再发送给他人。小编今天想要简单介绍一下…

表格锁定忘记密码怎么办(工作表保护忘记密码了怎么办)

在Excel中,为了保护自已的工作表不被修改,我们可以添加保护密码。但如果有一天Excel保护密码忘了怎么办?如果你有把密码告诉你闺蜜或者记在某地方,或许就不担心这个问题了。但如果没有呢?是不是很揪心,很苦恼?今天小编就教你一个绝大多数人都不知道的黑科技:一招破解Ex…

怎样修改图片大小kb(如何把照片改小kb)

照片怎么改大小KB?小伙伴们有没有喜欢经常用手机来记录生活中发生的事情,无论是出游时的风景,还是美味的食物,积累久了,就存了太多的照片。我们在将这些图片就行个分享的时候,也会往往因为图片太大的问题而无法上传,遇到这种情况,就需要将图片的大小KB进行一个修改。下…

图片怎么更改大小KB(怎样修改图片大小kb)

怎么修改图片的kb大小?在无纸化的办公中,图片文件的大小设置还是很重要的,批量的图片传输大小对于传输的速度影响还是很多的,同时图片的大小对于图片的质量也是有着影响的,图片的大小设置需要根据工作的需求去设置的,同时修改照片的大小对于用户发送分享的效率还是很重要…

mac下载软件的网站(苹果mac怎么下载软件)

SiteSucker for mac是Mac os系统上一款帮助用户下载数据的Mac下载工具。SiteSucker for mac绝对是一扒网站的利器,不仅仅是下载网站的HTML源文件,他连网站整体架构以及下面的所有文本,程序文件,图片,视频,音频等数据一丝不漏的下载到Mac本地硬盘特色功能SiteSucker mac版…

mac如何卸载第三方软件(苹果mac怎么删除软件)

本篇文章中,赤友软件将讨论Mac电脑卸载不了软件的原因,以及如何彻底卸载Mac上的软件。很多朋友在卸载软件的时候,可能会遇到卸载不了的情况。软件正在使用、软件来自第三方等原因都可能导致我们无法将其成功卸载。本篇文章就将告诉您“Mac卸载不了软件”的解决办法。为什么M…

Pr如何定格视频画面

Pr是现在十分常用的一款视频编辑软件,有些新用户不知道该软件如何定格视频画面,接下来小编就给大家介绍一下具体的操作步骤。具体如下:1. 首先第一步打开电脑中的Pr软件,根据下图箭头所指,导入需要编辑的视频。2. 第二步先按住【Shift】键,接着根据下图箭头所指,将时间轴…

如何启用并设置抖音直播礼物消费提醒功能

抖音是现在非常流行的一款短视频、直播软件,有些新用户不知道如何启用并设置抖音直播礼物消费提醒功能,接下来小编就给大家介绍一下具体的操作步骤。具体如下:1. 首先第一步打开手机中的【抖音】App,先进入直播间,接着根据下图箭头所指,点击【...】图标。2. 第二步在弹出…

路由器介绍以及使用方法(路由器基础知识)

科技创造未来,数码改变生活,随着网络的广泛应用, 无线网是现代生活必不可少的、并且看不见摸不着的东西,人们走到哪里都已经离不开无线网了,现在几乎家家都有无线网,“你这有没有无线?密码是多少?”成了人们到一个新环境时都会问的一句话,也成为生活里大家交流的最多谈…

Pr怎么降低视频不透明度

Pr是现在十分常用的一款视频编辑软件,有些新用户不知道该软件怎么降低视频不透明度,接下来小编就给大家介绍一下具体的操作步骤。具体如下:1. 首先第一步先打开电脑中的Pr软件,接着根据下图箭头所指,导入需要编辑的视频。2. 第二步先将视频轨道拉宽,接着根据下图箭头所指…

Windows10系统下暴风影音开机会自动启动怎么办?

为了在windows10系统中更流畅地观看视频,一位用户在电脑里面安装了暴风影音播放器。可是该用户发现,自从计算机安装好暴风影音播放器后,每次开机都会自动启动,这该怎么办呢?下面小编就教大家在win10中关闭暴风影音开机自动启动的设置方法。 步骤如下: 1、按下“Win+r”组…

医保电子凭证亲情账号

出门忘记带现金,还可以用手机支付宝、微信等支付,那去医院看病忘记带医保卡怎么办?现在也解决了,医保电子凭证的上线,让医保从“卡时代”迈向“码时代”。市民激活领取自己的电子凭证后,刷手机就能使用医保,可直接用于医院看病、药房购药结算,忘带实体卡也不怕。近日,…

微信总是收不到短信验证码是怎么回事

手机上面收不到验证码时,可以通过检查网络状态、输入的手机号码、手机短信功能设置、手机欠费情况、手机安全管家短信拦截设置等处理。方法/步骤 1 检查手机上面的网络状态。 检查手机上面的信号是否正常、稳定。如果手机收到的信号比较弱,将手机带到信号较好的地方,重新获取…

手机连着wifi为什么还会耗流量(手机用wifi上网还是要扣手机流量)

现在不论是在家还是出门吃饭,不管走到哪里,都能搜索连接的WIFI无线网络。很多人都会直接连接WIFI,毕竟流量还是要钱买的,没有人会跟钱过不去。那当我们连接了WIFI后,你们还会主动去把数据流量关了吗?想必大多数人都会忘记关掉数据流量吧,那如果我们不关数据流量连接WiFi…

如何清理电脑磁盘碎片整理(如何整理电脑磁盘碎片)

我们日常使用电脑中,硬盘存储的文件,随着每次的开机,硬盘重启开机运行会时而复始的,会形成断断续续的文件碎片。那么如何开快速化的整理这些文件碎片,下面将来讲解演示详细的操作步骤。1,我们要用大于8GB以上的U盘来制作一张,用来启动PE系统的,快速启动盘。以下用【U启…

联想小新平板电脑怎么样(联想小新pad pro2021怎么样)

关于联想小新padpro2021款网上有说屏幕显示差,也有很多说系统烂,下面说说我自己亲身体验及理解看法。2022年6月6号在京东下单到现在上手体验有20天左右了咱们先来说说网上讨论最多的屏幕方面在网上我查了很多关于这款平板屏幕的信息,在我查阅屏幕信息中至少有百分之八十说这…

如何解决360安全浏览器代理服务器无法上网问题

360安全浏览器是一款非常好用的电脑浏览器软件,有些用户使用代理服务器后常常会遇到无法上网问题,不知道如何解决,接下来小编就给大家介绍一下具体的操作步骤。具体如下:1. 首先第一步打开电脑中的【360安全浏览器】软件,根据下图箭头所指,点击右上角【三】选项。2. 第二…

支付宝中集五福合成后的敬业福会不会消失

今年的支付宝集五福又开始了,今天就跟大家介绍一下支付宝中集五福合成后的敬业福会不会消失的具体详情。1. 首先打开手机上的支付宝APP,进入首页就可以看到集五福活动的入口了,点击立即进入。2. 进入页面后,在页面上方点击我的福卡选项。3. 进入我的福卡页面后,若我们已经…