[译]改善编程的七个习惯

原文链接:https://dev.to/binarforge/seven-useful-programming-habits
作者:BinarForge

以下是正文的中英对比

This short entry was also published on my personal website

这篇短文发布在我的个人网站上

I have been reading some good books on forming habits recently. After digesting these, my mind started drifting further and I started thinking what my current habits are. Some of them are applicable to life in general, some relate only to work. Without surprise, some of them happen to be strongly related to programming, which I think might be a good thing to share.

我阅读了很多关于培养习惯的优质书籍。读完之后,我就开始想啊想,想什么呢?当然是我自己平时的习惯啦。其中一些生活方面的习惯,另一些是工作相关的。作为程序猿,跟工作相关的当然就是指编程方面的习惯咯,我觉得可以分享给大家共勉。

Uncontrolled auto save. This one has been accompanying me for ages. Even though many modern IDEs do not even require saving a file, I am relentlessly squeezing "Ctrl + S" combination to its last…drop. If I recall correctly, I am doing it thoughtlessly every time I stop typing. Weird but it actually saved my day more times than it caused a smirk on my colleagues faces.

第一个习惯:没事保存一下

这是我很早就培养出来的习惯了,即使现在很多高级的IDE甚至都不需要保存文件了,我还是要自己按Ctrl+S组合键保存,除非这两个键被我按爆了。每次敲完最后一下停顿的时候,想都不想”啪”的一下保存了再说。看着是有点奇怪,甚至身边的同事看了还会偷笑,笑你妹啊,你根本不知道这一招救了我多少次(哼╭(╯^╰)╮),等什么时候断电死机了你就该苦了;

Some devs tend to say being in "the zone" is like being in Nirvana or finally reaching the Valhalla. The way I see it is more like Berserk mode. It is great for some time but then you should take a break to recover. So basically short zone bursts are great for performance but make sure you take regular stops. Being in a zone for too long can actually numb your senses and make your mind more vulnerable to get stuck in a loop. (no pun intended!)

第二个习惯:张弛有度

有些开发人员喜欢一刻不停的码字,码的飘飘欲仙,放佛身处极乐世界或者到达了瓦尔哈拉殿堂(注:挪威神话中奥丁神接待战死者英灵的殿堂)。照我看来,这也太疯了。持续一小段时间专心码字当然是极好的,但是每隔一段时间一定要停下来让你的精气神恢复到最佳状态。短时间爆发一下,确实能出好活,但是一定要定期休息啊老铁。爆发时间长了,你的感官会麻木,你的脑子会僵死,你的人可能就走进了死胡同原地打转了。

Make sure you kill all the sources of disturbance. When I work on something really important I will turn my phone off, avoid social medias or any medias in general with a slight exception for music. Apply everything in healthy limits though. If you have got kids and need to focus, locking them up in a basement might sound appealing but it is not really a good solution in longer term.

第三个习惯:排除干扰

确保你身边没有任何可以干扰你的东西。当我开始进行非常重要的工作的时候,我会把我的手机弄到飞行模式,放上音乐,避免自己被社交媒体干扰。确保自己健康得到保障。如果你有孩子需要看着的话,把他们关到地下室去?开玩笑,这可不是个长久有效的好办法。

Always try to start with an end in your mind. Some people say the power of visualisation is priceless. It helps me determining realistic list of goals for today and eventually leads to reducing or removing frustration and disappointment at the end of the day. So anytime you work on something, make sure you know exactly what is it that you want to create. It might sound obvious but it is really one of those steps being skipped way too often.

第四个习惯 知道你在干嘛

永远记得开始之前估计一下结果。正如一些人说:可视化的力量是无价的。它有助于我确定今天要做的目标,减少甚至避免日后的沮丧、失望。所以当你要干一件事的时候,确保你自己清楚你在干啥,最终会产出什么。听上去很理所当然的样子,但是很多人就是会忽视它。

One good habit for me is regular training. Even though going to the gym is another great habit, in this case I am more worried about one's actual programming skills. I enjoy solving occasional programming exercises in order to keep my saw sharp all the time. It might not pay your bills but will definitely pay back in future.

第五个习惯 训练编程技巧

我有一个好习惯,没事就锻个练。我在这里指的是锻炼一个人的编程技巧,当然咯,去健身房锻炼身体也算是一个好习惯。偶尔我会给自己整个编程的题目,解题让我很爽,同时能让我的头脑保持活力。虽然提升自己的编程水平目前来看是捞不着钱,但日后肯定会给你丰厚的回报。

One of my most recent ones is trying to start writing any code from forming some test cases. This one is sort of related to one of my earlier points as it helps me seeing my destination before starting. It obviously makes the end result safer but as a bonus it often helps designing and documenting the code. I am actually surprised so few developers can appreciate this point of view.

第六个习惯 测试用例

我最近长干的一件事,那就是在写代码之前先把测试用例整出来。就像第四个习惯说的那样,这么做可以帮我提前知道我想要我的代码实现怎样的功能。很明显,测试用例可以让代码更安全,同时也有助于记录代码设计过程和文档记录。你看好处这么多,别的程序员咋就是想不到这么干呢。

Another fresh one for me which is to avoid "future programming". Start small and grow later. In my earlier days while coding anything I wanted to make it perfect from the very first day, cover all the possible edge cases and almost prepare it for my descendants to use. With time I realised it often leads to overcomplicated codebase, high time consumption and in most cases my program is doing everything and nothing at the same time!

第七个习惯 避免“未来式编程”

这是个我最近学会的一点。啥叫未来式编程,就是一开始就往大了设计。而正道应该是从一个小的项目开始,慢慢把它做大。以前我年轻的时候不懂事,写代码就想要写出来就很完美,考虑所有的边界条件,给以后所有的扩展留好位置。随着时间的推移,我慢慢发现我之前在代码库里写的都是啥啊,这么复杂的一大坨,耗时又那么长。大部分情况下,我的代码干了所有的事情,其实也啥都没干成。

So here, take any of these for yourself if you feel like it. These I have found insanely useful on my programming path but forming them is not an overnight change. The best and only way to implement a habit in your life is to just start using it and it will settle down before you realise.
Ah, do not forget to let me know about other habits that worked for you!

最后,觉得什么习惯好你们就挑什么哈。这些习惯我觉得对于编程都很好用,但没有什么习惯是一日而就的。最好的培养习惯的现在就开始尝试,不知不觉就掌握了。

要是有什么习惯对你们有用,别忘了给我留言哦(https://dev.to/binarforge/seven-useful-programming-habits)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 8,574评论 0 23
  • 长衫醉卧晚枫亭,残霞映雪碧天净。玉碗乘汤和烟雨,何来悲苦一叹息?
    秋一叶西阅读 474评论 0 0
  • 班级分组+作业点评+规则科普 一、班级分组 1、首月,按照战友编码,将77人的班级分成7组,每组11人,每组有一名...
    Tina2012v阅读 302评论 0 2
  • 现在的心情很复杂,当我开始打出这些字的时候我甚至有些热泪盈眶。我不知道这眼框里的氤氲有几分苦有几分甜有几分酸。我彻...
    已逝的过往阅读 266评论 0 0
  • 突然好想你 你会在哪里 过得快乐或委屈 突然好想你 突然锋利的回忆 突然模糊的眼睛 耳机里传来五月天的《突然好想你...
    左咗阅读 2,003评论 18 7