复制粘贴代码,很可能会带来灾难性的后果
很多人都有过复制粘贴代码的经历,但如果你经常盲目地复制粘贴代码,甚至是复制粘贴自己不理解的代码,很可能会带来灾难性的后果。
这是复制粘贴代码的最大问题。复制粘贴的代码往往包含很多你的程序不需要的额外代码行。如果开发者在没有理解代码的情况下就进行复制,那么代码就会变得很复杂,很难理解。
开发软件的真正资产并非代码,而是可重用的代码。因此,从长远来看,简单地复制代码并不能提高生产力。
如果你找到一段代码,却没有理解,仅仅是复制、粘贴,那么你就无法正确地重用这段代码,因为你不知道它的可用性。另外,你也失去了收集可重用代码的机会。
复制代码的同时,也在复制 Bug。你所复制的代码片段可以在特定的环境下使用,但是你的问题会有所不同。所以,如果你没有理解代码就去复制代码,那么你就会制造出某些 Bug,这些 Bug 会暂时被掩盖。
我知道有个学弟把 GitHub 的一些代码片段复制和粘贴到了他的项目中,因为他必须查看他公司发送给用户的最后一条信息。
他确实是把那些代码片段复制和粘贴了,但是却没有理解那些代码。他运行了这段代码,并且工作得很好。但问题在于,这段代码可以读取智能手机的所有信息。这个问题影响很大,会让你的应用变得缓慢。
当你在你的项目中粘贴代码时,重复的代码还可能会产生额外的错误。有时候,可能是你没有把代码粘贴在正确的地方,也可能是你粘贴的代码覆盖了以前的一些代码。如果你不明白这些代码,那么会有很多复制粘贴的方式带来灾难。
开发者经常从一个开源项目中复制粘贴代码。如何不了解复制的源码许可影响,那么就会有很大的问题,对于嵌入式设备来说更是如此,因为在嵌入式设备中,板载软件被认为是一个新的和唯一的副本。这不是 GrammaTech 专攻的领域,但其他公司提供这些类型的分析工具。
如果你经常习惯复制粘贴代码,那么以下六点建议希望能对你有所帮助。
- 花时间去解决一个问题。你今天花的时间越多,明天要花的时间就越少。
- 对复制粘贴的代码进行调试,以便更好地理解。
- 在复制的代码中添加一些有用的注释,以便 QA 团队能够更好地查看。
- 尝试将代码分解成可重复使用的函数。这将有助于你更好地理解。
- 在从开源项目中复制之前,请看清许可证。
- 请不要在项目中留下任何复制粘贴的代码的垃圾代码。
额外提示:
一些资深的开发者建议,与其从网站上复制粘贴代码,不如通过重新敲入代码来重写。通过这样做,你可能会发现一些垃圾或无用的东西,并把它从你的代码中删除。这将使代码变得干净,并帮助你更好地理解它。再一个就是,它将帮助你一步一步地理解执行程序。
如果我们仅仅是简单地复制和粘贴,就会失去这些宝贵的经验。请相信我,一点小小的努力,就能使你从好的开发者变成伟大的开发者。
复制代码使我们的生活变得更轻松。但如果不去理解代码的话,就不会让我们成为更好的开发者。一个伟大的程序员,就是在大多数人不能解决困难问题的时候,能够解决困难的程序员。
而一个伟大的开发者并非在一日之内造就的。通过理解代码来解决问题,是提高自己的最好方法之一。
因此,尽管复制粘贴代码的做法很诱人,但在不理解的情况下就复制代码,是不值得开发者花费宝贵的时间。在我看来,这是在自欺欺人。
作者介绍:
Entreprogrammer,科技企业家、变革创造者,热衷于人工智能和区块链。
原文链接:
https://levelup.gitconnected.com/copy-pasting-code-can-be-devastating-ae1c8252c8fa
VBA代码之复制粘贴操作
【分享成果,随喜正能量】这世间水流花开,一切都是现成的风景,每个时刻都是进行时,
每个时刻都是定格的故事。活一回岁月,活的就是这份思索中的当下和放过,传递的就是这样一种智慧。在这风景中提高自己,是一份不懈努力的故事。
《VBA代码解决方案》这套教程是我最早推出的教程,目前已经是第二版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一下把自己喜欢的代码摆好。
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过度教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第10讲:VBA代码之复制粘贴操作
今日给大家推出VBA代码方案第十讲:如何利用VBA代码完成复制的过程。在EXCEL中复制和粘贴是非常基本的操作,在VBA代码中复制和粘贴是如何操作的呢?今日给大家详细的讲解。这些代码可以在程序中可以直接利用,也可以在实际工作中稍加修改,以适合自己的应用环境,希望朋友们能活学活用。结合自己的实际工作灵活运用。
在VBA代码中的复制是利用Range对象的Copy方法,
其语法如下:Copy(Destination)
参数Destination表示复制单元格区域的目标区域,如果省略该参数,Excel将把该区域复制到剪贴板中。使用Copy方法复制单元格区域时,也复制了该单元格区域的格式,
复制单元格区域时,如果目标区域为非空单元格区域,Excel将显示消息框提示是否替换单元格内容,可以设置Application.DisplayAlerts属性值为False,使复制时不出现该消息框。
我们看下面的实际代码:
Sub mynz_10_1() \’第10讲 利用VBA代码完成复制
Application.DisplayAlerts = False
Sheets(\”9\”).Range(\”A1\”).CurrentRegion.Copy Sheets(\”10\”).Range(\”A1\”)
Application.DisplayAlerts = True
End Sub
代码解析:
上面过程将Sheets(\”9\”)工作表中A1单元格的当前区域复制到Sheets(\”10\”)工作表中以A1单元格为左上角单元格的区域
上述代码中,第2行代码通常复制单元格区域的操作不会将单元格区域的列宽大小同时复制,如果希望在复制单元格区域的同时,也复制源区域的列宽大小,可以使用下面的代码。
Sub mynz_10_2() \’第10讲 利用VBA代码完成复制
Sheets(\”9\”).Range(\”A1\”).CurrentRegion.Copy \’复制到剪切板中
With Sheets(\”10\”).Range(\”d1\”)
.PasteSpecial xlPasteColumnWidths \’选择性粘贴剪贴板中的Range对象的列宽
.PasteSpecial xlPasteAll \’Range对象全部内容
End With
Application.CutCopyMode = False \’取消应用程序复制模式
End Sub
代码解析:
1) 第4行代码使用Range对象的PasteSpecial方法选择性粘贴剪贴板中的Range对象的列宽。
2)第5行代码粘贴剪贴板中的Range对象全部内容。
3)第7行代码取消应用程序复制模式。
- 应用于Range对象的PasteSpecial方法将剪贴板中的Range对象粘贴到指定区域,在粘贴时可以有选择的粘贴对象的部分属性。其语法如下:
PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
1)参数Paste指定要粘贴的区域部分,可为如下所列的XlPasteType常量之一。
xlPasteAll -4104 全部(默认值)
xlPasteAllExceptBorders 7 边框除外
xlPasteColumnWidths 8 列宽
xlPasteComments -4144 批注
xlPasteFormats -4122 格式
xlPasteFormulas -4123 公式
xlPasteFormulasAndNumberFormats 11 公式和数字格式
xlPasteValidation 6 有效性验证
xlPasteValues -4163 数值
xlPasteValuesAndNumberFormats 12 值和数字格式
2)参数Operation指定粘贴操作。XlPasteSpecialOperation为下面常量之一。
xlPasteSpecialOperationNone -4142 无(默认值)
xlPasteSpecialOperationAdd 2 加
xlPasteSpecialOperationSubtract 3 减
xlPasteSpecialOperationMultiply 4 乘
xlPasteSpecialOperationDivide 5 除
3)参数SkipBlanks指示是否跳过空单元格,若参数值为True,则不将剪贴板上区域中的空白单元格粘贴到目标区域中。默认值为False。
4)参数Transpose指示是否进行转置,若参数值为True,则粘贴区域时转置行和列。默认值为False。
代码截图:
复制内容:
运行后:
今日内容回向:
1 Copy(Destination) 意义是什么?
2 PasteSpecial(Paste, Operation, SkipBlanks, Transpose) 意义是什么?
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
第7套教程(共三册):《VBA之EXCEL应用》:是对VBA基本的讲解
第1套教程(共三册):《VBA代码解决方案》:是入门后的提高教程
第4套教程(16G):VBA代码解决方案之视频(第一套的视频讲解)
第3套教程(共两册):《VBA数组与字典解决方案》:是对数组和字典的专题讲解
第2套教程(共两册):《VBA数据库解决方案》:是对数据库的专题讲解
第6套教程(共两册):《VBA信息获取与处理》:讲解VBA的网络及跨程序应用
第5套教程(共两册):VBA中类的解读和利用:类及接口技术的讲解
第8套教程(共三册):VBA之Word应用(最新教程):word中VBA的利用
上述教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5。
② 7→8
- 如何学习VBA呢? 概括的说就是: 学习过程中要信、解、受、持,更要有回向的业力。无论您在学习的任何阶段,都要对照教程的知识点加持自己的实际工作,总会有丰厚的收获。
文件备份用Python,照着复制粘贴代码就可以了
引言
在日常开发和运维工作中,数据安全尤为重要,定期备份重要文件是防范数据丢失的有效手段之一。本文将详细介绍如何使用Python实现一个简单的定时备份脚本,该脚本可以按照设定周期自动将指定文件夹或文件复制到另一位置,以保护重要数据的安全。
首先,我们需要导入Python的os和shutil库,这两个库分别提供了操作系统交互和文件/目录操作的功能。此外,为了实现定时任务,我们可以选择使用schedule库或者集成在Python标准库中的time模块。
以下是一个基本的文件/目录备份示例:
- 使用schedule库实现定时任务:
- 使用time模块配合循环实现定时任务:
请根据实际情况调整上述代码中的定时任务执行频率,并确保备份脚本能在后台稳定运行,例如通过Linux的cron服务或Windows的任务计划程序进行安排。
总结
通过上述Python脚本,可以轻松实现重要文件的定期备份,确保数据安全无忧。在实际使用中,还可以根据需求进一步优化备份策略,如实现增量备份、备份压缩等高级功能。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。