专栏首页C语言及其他语言重新敲一遍代码,胜过拷贝粘贴

重新敲一遍代码,胜过拷贝粘贴

来源:腊八粥

网址:http://www.labazhou.net/2015/10/dont-copy-paste-retype/


  • 原文地址(original source):http://xion.io/post/programming/dont-copy-paste-retype.html
  • 作者(author):https://twitter.com/Xion__

如今这个时代,Google 和 Stack Overflow 已经成为了很多开发者不可或缺的工具。但是最近,后者貌似名声坏了。一方面,是因为表面上特别、有时候会偏离适度的原则。说得更中肯些,取笑别人是「十足的 Stack Overflow 式的开发者」的现象,明显增多了。

说简单点儿,有些人在 Stack Overflow 上扔代码、还大肆拷贝、粘贴回答里的代码示例,他们最应该得到这个称号。他们干起活来可能相当麻利,但是对于他们所面对的问题、以及他们乐于使用的解决方案,缺乏应有的理解。

当然,代码的拷贝粘贴不应该都被鄙视。我敢肯定,大部分阅读本文的读者(当然包括写本文的我!)耻于把 Stack Overflow 上的代码片段、原封不动地拷贝到他们自己的代码库里。那又能怎样呢,人家的代码为什么要这样写,我们或许根本没有兴趣去了解。从本质上讲,不是每一项技术都让人着迷,毕竟,deadline 有时过于急迫。

但是,果真如此的话,是不是意味着,我们渐渐就变成了十足的 Stack Overflow 式的开发者?对头!我们肯定不希望走到这一步!

缓解对策

每当你想把 Stack Overflow 的一段代码拷贝到项目里时,别急着断网,而要考虑下面的技巧。

不要使用剪贴板。不要拷贝和粘贴。而是把你找到的代码,重新敲一遍

是的,这要多花些时间。和你简单地敲击 Ctrl+C/Ctrl+V 相比,这肯定笨拙不堪。或许没有多少意义:如果最终结果是一样的,那么,代码的转移是否通过了剪贴板,又有多大的关系呢?

理由

无论如何,我坚持认为,敲一遍代码,意义十分深远。按照重要程度,下面列出我的理由:

  • 重新敲一遍,要比拷贝粘贴慢,这实际上非常好。如果你发誓不再使用剪贴板了,就不会只是寻找 Google 给出的第一条 Stack Overflow 的结果。你将权衡不同的解决方案,正常情况下,你将倾向于更短、更简洁的方案。
  • 在你敲代码时,你不可能完全无意识地敲着。不管你是否愿意,你都将潜移默化地吸收一部分知识,因为当代码从浏览器转移到编辑器或 IDE 时,也是在你的眼睛和大脑之间流动。你下意识地会对部分信息感兴趣,并梳理清楚,便于今后使用。即使你不想这样做,你也会学到点儿东西。
  • 最重要的、也是几乎可以肯定的是,你自己敲的东西不等同于原始代码片段的完全拷贝。在你敲代码的过程中,只要你遵从项目正在采用的、特定的风格规范,那么,你将不可避免地偏离原始代码。更有可能发生的是,你也会做出更大的修改。你将替换调用工具函数的常见模式。为了更好的可阅读性,你将重新组织代码。你将添加注释、或抽出功能,让其更加自文档化(self-documenting)。甚至改善并个性化,这样,你就能抽象并多次复用。

此后,你刚才敲好的代码,就不只是你从网上找到的代码。它成了你自己的代码。

本文分享自微信公众号 - 编程范(dotcpp)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 本杰明·富兰克林会怎样学习编程?

    来源:编程派 优秀的编程方法是极难教的。编程书籍大抵都是这样开头的:“这是X方法的例子,还有下面这个例子”。教教基础是容易的,因为基础知识也就那么多。难就难在...

    编程范 源代码公司
  • MarkDown编辑器基本使用说明

    如果这是您第一次使用MarkDown编辑器,建议先阅读这篇文章了解一下Markdown的基本使用方法。

    编程范 源代码公司
  • 【优质题解】题号1174:【计算直线的交点数】 (C语言描述)

    题号1174,原题见下图: ? 解题思路: 将n条直线排成一个序列,直线2和直线1最多只有一个交点,直线3和直线1,2最多有两个交点,……,直线n 和其他n...

    编程范 源代码公司
  • 重新敲一遍代码,胜过拷贝粘贴

    重新敲一遍代码,胜过拷贝粘贴  如今这个时代,Google 和 Stack Overflow 已经成为了很多开发者不可或缺的工具。但是最近,后者貌似名声坏了。一...

    用户1289394
  • 从Stack Overflow上复制粘贴编程方法精要

    在复制和粘贴代码之前,您必须确保拥有复制和粘贴该代码的合法权利。没有这种合法权利,你就会偷走其他人的知识产权。那只是懒惰。

    硬核编程
  • 如何从一名普通的程序员进阶成为一名优秀的程序员

    本文将讲述8种方式帮助你如何从一名普通的程序员进阶成为一名优秀的程序员,让我们就从此时此刻开始提高自己的开发技能吧。

    一墨编程学习
  • 维护Python代码的5种工具

    随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维...

    一墨编程学习
  • 证明你是坏程序员的7个迹象

    证明你是坏程序员的7个迹象 1)开始编码之前没有计划 说到这一点,我自己其实也并没有做到,我总是喜欢直接编码。但是慢慢地,我看到了在写代码之前先简单规划一下的好...

    用户1289394
  • 初学自学编程,从什么语言开始起步比较好?

    自学编程如果是兴趣方面的可以选择比较简单的入门语言入手,然后再慢慢切入到新的编程语言,目前相对来说比较好入门的编程语言是python,这门语言的集成度非常高,适...

    程序员互动联盟
  • 如何成为一名优秀的架构师

    同时期进入到同一间公司,参与同一个项目的同学,时间长了之后,有同学的架构能力很强,有的却还像一个新手,造成这种差别的原因除了个体素质的差异,还有一个是工作方式和...

    路人甲Java

扫码关注云+社区

领取腾讯云代金券