复制粘贴代码真的有问题吗?
2012/06/30 · 开发
当你编程的时候,复制和粘贴—将你现有的代码进行再利用,这是不必再重复编码的最佳做法。这是一个技术债务的最佳例子:偷懒,草率和目光短浅,这会让维护代码的长期成本增加。
但它同时也很自然,找一些已经在运行的代码,跟你所需要的非常像,复制,粘贴,并用它作为起点。
我是在谴责集成开发环境。
在过去而言,编程是一件很困难的事情。不是因为编程本身过于困难,主要是因为编辑器太烂。很多在70和80年代遭人嫌弃的编辑器都没有流传至今(少数非常幸运)。我在打卡时代末开始从事编程工作。以前用打孔来写程序非常搞笑。曾几何时,如果你掉了一块用在分类机上的板子,也会闹出很多笑话(好吧,也许两次,无一例外,分类机每使用三次就会堵塞一次,场面相当混乱)。我曾经工作过的银行在1986年还在使用那种分类机。
(如果你想看看顺序排列< source.cbl >的等同于穿孔卡的分类结果,mv 将看起来很有历史的source.cbl分离了出来,Youtube上有一个不错的视频。)
幸运的是,电传打字机取代了穿孔打卡系统。接着它走上了Mastodont的道路(人们觉得他们都一样重要),不过最初的基于终端的通用型电脑监控器并未比玻璃制品的电传打字机好用。【停下来以稍作调整】
关注一下各种文档的不同功能(假设文档具有语言选择功能,但你不能认为文档理应具备),这些功能需要有直观的印象或者是非常严格的命令。否则你得花上一整天的时间去找‘那项功能’或者‘那个变量声明’。重新编写一块代码,代码块要求一行一行的重新输入。这样麻烦透了,所以你最好尽可能地避免。
有一些可以让你不用重写大量代码的方法:
▲在写代码之前先花很长一段时间思考程序,这样就不用频繁地改动
▲确信在整个程序中一次就把代码写好
▲尽可能多地将你的代码提炼到你的重用代码库中
探测性编程代价巨大
后来全屏式的编辑器出现了。相对于行式编辑器,这种编辑器无以伦比。真的。如果你不相信的话可以花一两天去试试’edlin’。到时候我们就会知道你是多么的爱不释手。至此,你就会知道,在头二十年的计算机操作中,所有的软件编码一点都不容易。
之后,你每天也要受Irons 和 Djorup他们二位的罪,每天两次。(伯乐在线注:Edgar T. Irons 和 Franz M. Djorup 两人开发过一个全屏式的编辑器:O26。)
我工作用的第一个编辑器不错,可以快速移动文本,拥有区块标记,复制,移动和删除等功能,是我集成在6809微型计算机上的编辑器。有些设计计算机设计工具的事情确实很烦人,这就是:工具绑定。无论你正做(build)什么工具,你都需要另外一个工具。为了写一个汇编程序,你需要一个编辑器和汇编程序,而且为了写一个编辑器,你需要第三方编辑器和汇编程序(或者编译器)。如果没有借助第三方编辑器来编写你自己的编辑器是很棘手的事情。
当编辑器做好之后,第三方编辑器虽然不完善但也还能使用。我将它命名为‘e’(我真的不喜欢键入长命令的名字,‘e’以及它的后续版本在2000年早期的时候作为我主要的go-to文本编辑器,用起来还不错,它摆脱了处于vi …
.Net Android App Bug C++ C sharp CSS C语言 Facebook featuredpost Git Github Go Google Hadoop HTML5 iOS IT java Javascript jQuery Linux MySQL Nginx Node.js NoSQL php Python Redis shell soho SQL SQL Server UI UI设计 Vim Web Web开发 书籍 互联网 交互设计 产品 产品经理 代码 分布式 创业 前端 团队 大数据 女程序员 威客 学习 安全 安卓开发 客户 屌程 工具 工程师 开发人员 开源 微软 技术面试 招聘 效率 教程 数学 数据库 数据结构 时间管理 服务器 机器学习 架构 测试 浏览器 游戏 用户 用户体验 界面 码农故事 移动应用 移动端 程序员 算法 管理 编程 编程语言 网站 网页设计 职场 自由职业 苹果 设计 设计师 设计模式 趣文 软件开发 重构 面试 项目经理 黑客
地址 1.1.1.1,Cloudflare 推新公共 DNS 服务
04/02 · 15 · 4
安卓用 Java 侵犯甲骨文版权,谷歌或赔 88 亿美元
03/28 · 16
李文星家属诉 BOSS直聘:哪怕赔一分 能给个交代也值
03/27 · 21 · 1
Android Studio 3.1 正式发布,默认使用 D8 Dex...
03/27 · 11
GitLab 发布全球开发者报告:开源仍是主流
03/25 · 7