编程可以教给你的6个生活习惯

原创 2014年09月06日 21:44:32
本文由 伯乐在线 - yixingqingkong 翻译自 Ryan Dube。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。

成功人生所需要知道的一切重要事情,你都能从计算机编程中学到。不相信我?那就继续往下看。

当我很小开始编程之时,还只是照搬电脑杂志上前瞻性的文字和符号,以便我和哥哥能够让带有一个双软盘驱动器的旧 Franklin 64 播放一段小巧的数字曲调。当时我们还没有太多生活经验去辨别那些神秘文本。

很多年后,在高中的Pascal课程中,事情看起来开始变得不同。了解if条件语句和for循环,开始引发出沃尔特·惠特曼和罗伯特·弗罗斯特等人都引以为傲的哲学突触联系。好吧,我说的有点夸张,但是这些见解仍然很酷。

是的,我知道,它说起来是一件很令人厌烦的事情——但事实是,在代码中,在while语句、数组、方法、对象等所有这些中,蕴含着很多智慧。事实上,我学到的很多驾驭生活的能力,通常都直接来源于我对多种编程语言的研究。

用流程图简化每件事情

许多程序员在开始编写单行代码之前很久就已经开始使用流程图。这样做的原因是,有时试图一下子编写出整个程序的感觉真的是压倒性的,尤其是当程序要完成一些非常复杂的任务时。

程序员将接受大的甚至巨大的软件项目,然后将它们分解为更好管理的更小的部分——有点像造一辆汽车,需要通过事先做每个所需组件,然后再将它们组合在一起。每个部分都是一个(或几个)具有特定输入值或行为的集合、然后完成一些输出任务的代码块。在该模块内部,程序员将使用流程图描绘出从输入到输出的逻辑。

flowchart

流程图能够帮助你以一种可视化形式跟随这个逻辑,这远比你试图用文字把它写出来或者想当然地狂写代码来解决这一问题更加容易理解。程序员没有找出这样的“动态”逻辑的原因是,后面的逻辑通常在很大程度上取决于你对如何处理程序中早前的逻辑做出的决定。早期决定错了,你将会把自己编入死胡同。

生活中也是如此。当你正在做一个关于如何去还清债务、买房子,或者如何处理任何其他复杂的生活状况,甚至如何管理工作中的一个项目的决策时。在你坐下落笔绘制出在这个过程或决策中每一步的创意流程图时,所有那些看似不可逾越的任务都能够得到更好的处理。这将帮助你在每一个阶段为你所有可能的选择作出决定,或者预测所有可能性然后追踪各种情景。就像编程,了解早期的选择会如何影响后面的结果将帮助你及早地做出更好的决策。

每件事物都有它的位置

每当你开始编写一个脚本或程序时,第一步总是创建你的变量。在编程中,包含有很多不同类型的变量。有支持文本表示的字符串类型,支持非十进制数表示的整数型,用于处理更大数字的双精度型或其变体,还有数组类型、结构体类型等等。我们的想法是,定义一个适用于手头任务的变量。例如,如果一个函数的输出是一个人的名字,那么你需要的是一个字符串变量。

variables1

当你组织你的生活时也是如此,无论是你的房子还是办公室,你根据要存储事物所需空间的多少来选择空间的大小。小而透明的塑料盒用于盛放干货,一个贴好标签的香料架盛放香料以节省空间。在办公室,你会将日常工作文档放在办公桌抽屉里,而将敏感的商业文档存放进一个锁柜中。每件物品都有合适的容器,并且都有它适当的位置——这是组织良好生活的座右铭。

重用程序模块以节省时间

任何一个优秀的程序员最终都知道特定的代码块(或称为“函数”)可以在多个程序中重用。例如,一个将华氏温度转换成摄氏温度的函数,它可以用于你创建的任何需要完成这一任务的程序中。这个函数是一个简单的模块,它以华氏温度为输入,然后输出对应的摄氏温度。这个函数可以包括一定行的代码,然而当你本可以将它们保存为一个程序模块,然后再直接将其嵌入到未来任何需要它的程序中去时,你为什么非要为所编写的每一个程序都重建这些代码呢?

assembly-line

亨利·福特关于他著名的T型车曾经说过,“任何顾客都可以拥有一辆他想要的任意颜色的汽车,只要它是黑色的。”

原因是福特已经想出了如何组装汽车,并且如果每制造一辆新车都能够重用相同的设备(和相同的颜色漆)而无需重现该过程会让它们更快地上市。这催生了流水作业,它彻底改变了汽车工业。同样的方式,你可以将这一原则应用到你生活中需要重复性工作的各个领域。自动化是成功的关键,所以如果你能找到方法来自动化工作中需要重复完成的任务,——你就可以使你的一天更有效率以节省时间。

首先,阅读我们的网站自动化指导。

记录每一件事

有时,对于一个程序员来说,只是飞速编写代码而不记录单独的事情是非常诱人的。之所以诱人是因为,任何时候你都准确地知道你想要程序做什么以及你想要怎样去实现它。记录一个程序需要时间。你必须描述每一步怎样做以及为什么这样做。这看似毫无意义,但几个月后当你决定重用这段代码或为另一用途修改它时,这就体现了奋力挣扎想起你的每一行代码到底是在做什么,与迅速回退去了解你逻辑背后的整个意图之间的区别。

documenting-code

这种细致的文档在生活中的每个领域都有帮助,从跟踪生日和纪念日,到保持日常商务交易日志以及进行这些交易的原因。随着很多决策像风中的树叶一样来来去去,日常生活会变成每一个模糊的日子。只依靠记忆去记住你为什么出席某些会议或为什么做出某些购买的做法是幼稚且低效的。每日日记或日志对解放你的思想去做更重要的事情有很大帮助。

始终给自己留一条退路

一个业余程序员最常犯的错误之一是无限循环。这是一种打破循环所需的条件从未发生的情况,程序会留在循环里并且永远不会结束——这占用100%的电脑CPU资源,几乎相当于锁定了电脑,直至你终止这一过程。

业余程序员需要从中学习的教训是,每当你创建一个需要消耗大量CPU资源的循环来执行某种任务时,引入各种各样的跳出机制是非常重要的。换句话说,相比基于一个判断你的计算结果是否超过一定值的While循环(在某些情况下它可能永远不会达到),引入一个非常基本的循环计数然后添加一个次要终止条件的方法是更可取的。如果循环次数超过某个极大的数值,循环必须结束,而如果在一切正常的情况下,这个条件应该是永远不可能达到的。

breakout

这会如何应用到现实生活中呢?它恰恰说明,即使你认为已经有了完美的计划,事情仍然可能出错。一个例子可能是,计划了为期一周的在最美丽、放松的热带天堂的家庭度假,不料竟会因为下了一整周的雨而结束它。生活中“退路”的理念就是,要考虑到“最坏情况”,然后想出如果它真的发生了你要如何避免或者如何尽量去利用好它。

生活并不总是可以预测的,即使一些你认为根本不可能会出错的最周密的计划,也可以很容易地被破坏。为最糟的意外事件做好计划,这将能确保当意想不到的事情发生时你不会以彻底失败而告终。

完成任务时要释放内存

从编程中得出的最后一个生活经验是,及时清理自己。在一个程序中,你将需要开放一个流到一个输出文件,创建一个充满数据点的大数组,以及其他一些占用计算机内存和资源的事情。一个干净的程序,是能够及时关闭输出流并清空已经用完的数组的程序。这里的理念是,要避免写出一个带有被称为内存泄漏的常见问题的应用程序。

例如,在一个简单的VB应用程序中,你会这样删除一个数组:

Erase ArrayDin

或像下面这样关闭一个输出文件流:
FileClose(1)

这听起来像是你在更年轻的时候可能听到妈妈说过的一些事情,对吗?打扫你的房间,把你的衣服收好,洗净你的碗。然而,更进一步,收拾好你完成手头任务所使用的工具,不仅会使你的家和工作区整洁,它还能够留下足够的空间让你更快地完成下一个项目。把东西随意乱放只会浪费空间,而且当你之后找不到所需要的东西时还会浪费你的时间。

底线

事实上,你能从编程艺术中学到的生活经验并不只有这六个,还有更多。当涉及到组织、规划、制定策略和节约资源时,计算机程序员已经理解了它。你能够从花费时间学习一门编程语言的过程中学到很多东西,而不仅仅是编程本身。事实上,这就是为什么每个孩子在学校都至少应该学会一种编程语言,因为一旦你抓住了它的诀窍,那么它很快会变得明显,你可以在你生活的其他领域使用这些诀窍。

你从编程的世界中发现了哪些其他类似的生活经验呢?

图片来源:本文所有图片均来源于Shutterstock图片库。

版权声明:本文为原创文章,转载请标明出处。

相关文章推荐

编程可以教给你的6个生活习惯

本文由 伯乐在线 - yixingqingkong 翻译自 Ryan Dube。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。 成功人生所需要知道的一切重要事情,你都能从计算机编程中...

程序员:编程给你现实生活带来了哪些坏习惯

导读:似乎任何职业都会给从业人员带来这样那样的习惯。国外某网站上有位朋友(应该也是程序员)想了解其他程序员在投身堆码事业后有什么样的坏习惯。结果一呼百应,很多程序员纷纷自爆自己的坏习惯和糗人糗事。编程...

高血压生活习惯数据分析软件源码

  • 2016年07月04日 09:33
  • 1.23MB
  • 下载

79个不生病的生活习惯

  • 2009年06月27日 21:37
  • 146KB
  • 下载

写给程序员的--良好生活习惯的小贴士,省时且没有额外成本!

本文是就作者看到的一些细节之处来写的,因此,就不写那些早被人熟知的,例如饮食平衡、身体锻炼、眼保健操这些了,只写一些平时不被人们注意的细节之处。没什么新鲜内容,但是对身体都是有用的。身体是革命的本钱,...
  • WQ560
  • WQ560
  • 2013年04月16日 10:40
  • 789

损害女性健康的生活习惯

行经期不注意保暖   损害健康真相:引发痛经、月经过少乃至停经   经期受凉会引起各种疾病,因为冷刺激会造成子宫血管收缩,肌肉痉挛,引起痛经、月经过少乃至停经。所以,行经期间一定要注意自我保健,如...

【转】必然发胖的六大生活习惯

  一、让自己挨饿  中国有句俗话,“一席饱三顿。”通常在大吃一顿之后,随之而来的就是挨饿。为什么少吃一顿也成了坏事呢?让我们设想你被困在一个监狱里,只有在看守想起你的时候才会给你送饭吃。那么,当有饭...
  • azuresn
  • azuresn
  • 2011年03月19日 16:37
  • 350

日常英语口语学习1:在家中——送礼物,生活习惯,理财

●送礼物 这是送给你的。  This is for you. This is for you. (这是送给你的。) That's very nice of yo...

总结程序员的性格特点、生活习惯

身为程序员的您是否有下面这些性格与习惯?? 1.聪明但是给人的感觉是不谦逊 2.交流与合作能力比较强,但是又往往向往个人主义 3.懒惰(体力劳动),大部分程序员可能都是这样,也许是因为程序员已经...

远离肿瘤,养成健康的生活习惯

连线专家:广州军区181医院肿瘤科主治医师 熊锐华     每年4月15日至21日,是“全国肿瘤防治宣传周”,今年是第十八届,主题是“科学抗癌,关爱生命——饮食与癌症”,旨在引导公众正确认识癌症发生...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编程可以教给你的6个生活习惯
举报原因:
原因补充:

(最多只允许输入30个字)