`
bugtags
  • 浏览: 29986 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

程序员编程的10个实用技巧

 
阅读更多

 

下面是我自己在工作中学到的一些简单的技巧和策略,希望能对各位有用。

1.橡皮鸭调试法

不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的。高谈阔论能让我们的大脑重新有条理地组织问题。在这种情况下,你的聊天对象就是“橡皮鸭”。团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”。有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢。

2.快速信息反馈

一旦写好代码就要尽快得到反馈。当你和我们在HubSpot一样,收到大量的Pull请求,不妨做些细微的改动,然后立马打开PR,讨论设计和代码。和你的“橡皮鸭”交流一下,请他们提点建议。要知道,迭代原型可远比纠正成品要节约成本。

有的团队结构,最初可能并不要求写代码。因为实体模型、白板设计等等,这些成本都比一下子删改上千行代码的成本要低。

3.首先搞定端至端

当我们在解决问题和完成功能时,很容易深入到细节问题的研究。这里有一个好方法,能让我们尽快搞定端至端。

例如,假设我需要在网页上设置一个功能,能在用户点击之后做一些复杂运算并把结果存储到服务器中。有些童鞋可能想着想着就先去研究这个运算方式了。我的做法是,先为用户的操作设置事件处理程序,用一些固定的值来模拟计算,然后调用API向服务器请求数据。这样一来,我们就没必要先考虑每一个具体细节,可以直接端至端地测试系统。同时,这个快速的反馈回路有助于我们更快地迭代和写代码。一开始出来的设计可能并不完美,但是通过亲眼目睹各个部件是如何组合的,我们将会对整个系统有一个更清晰的了解,做出最优的设计。

在HubSpot,在产品还没完成之前,我们就先将功能推出去了,这样我们就可以及时进行内部测试。这是对此端至端概念更进一步的深化。

4.适时离开电脑

有时候在调试时,console.logging无处不在,最好的方法就是测试代码。也有的时候,你绞尽脑汁呕心沥血地想要解决一些复杂的设计和问题而不得其法,那么你最好先暂时离开一会。虽然这听上去有点不可思议,但是有的时候,我的确是在厕所想到了问题的症结所在。我的爱人,她也是一枚软件工程师,曾告诉我,当她睡着的时候常常会有各种奇思妙想(有时闭上眼睛天马行空,有时梦里各种方案纷至沓来)。打个盹、散散步、上个厕所……都可以,总之适时离开电脑。

5.自动化

高效的开发人员会将很多繁琐的进程自动化。不过一直以来很多人都认为自动化只能节约时间,这是一个很普遍的误解。其实不仅如此,自动化最大的优点是让你的思想策马奔腾无所阻碍,朝着完成目标的方向奋勇前行。

举个例子,假设我需要经常运行一个相当复杂SQL查询,而过程真心很长,每次又都要重新输入一遍。我当然不会傻乎乎的这么做,我会使用类似于Alfred的程序保存于剪贴板中,或者自己想个办法节约一些步骤。于我而言,自动化是一种更为积极的工作态度。

6.自己动手,“丰衣足食”

当我们在设计新代码时,都希望自己能写出完美的代码,发现每一个抽象概念。但是当我们致力于设计新代码时,抽象概念却又成为了干扰因素,即便这些抽象再怎么显而易见、易于设计。我的做法是,不要立刻思考各种抽象概念,先简单机械地复制一些代码作为原型。这能让我迅速上手新项目,效果比我仅仅只是纸上谈兵要好,之后所能做的抽象发散也更广阔。不过,可不要光复制,还要清理代码,不然它们很快就会变成一笔烂摊子。

7.运动很重要

写代码其实并不能燃烧很多卡洛里,因此我们必须强迫自己动起来。可以不时地伸伸懒腰,经常性地走来走去。在HubSpot,我们有一个俱乐部,我每周会有三天在午饭前去健身。此外,我的习惯是每隔一小时左右做几个俯卧撑,拉伸肌肉,保持活力。

因为久坐我以前经常肩膀疼背疼,但是自从立式桌的出现,这些都成为了历史。如果你也有这方面的烦恼,不妨试一下这个方法,起效快、效果好。HubSpot为我们提供的电动办公桌可以在立式和坐式之间转换。当然如果放在家里,1000美元这样一顶桌子可能太奢侈了,所以我就在网上买了个二手的,只要40美元。

8.阅读前文

阅读别人的文档、技术文章和代码常常让我抓狂。为了不气得抓耳挠腮、捶胸顿足,不妨先阅读前文,以期更多的细节内容。程序中的概念很难用线性方式表达出来。阅读前文能让我们更清楚文章内容和代码在说什么。

9.一丝不苟做笔记

有些组织化程度较低的开发人员可能会对这个技巧嗤之以鼻。知道我是怎么做的吗?我会将每一天我做了什么、遇到的问题以及我是如何解决这些问题的等等,都详细地记录下来。然后当我再次碰到类似的问题时,那就再也不会只能“执手相看泪眼,竟无语凝噎”了。这些笔记成为了我无价的财富,因为我可以运用之前的经验和智慧来解决现在的问题。而且要是碰到1对1绩效考核时,我也能迅速想起自己为公司所做的贡献和自己的成就。

10.给第二天做个计划

要么是下班回家之前,要么是晚上睡觉前,我都会在笔记本中为第二天列个待办事项列表。这样,当这一天来临的时候,我的目标就很明确,知道自己要做什么,专心致志,聚精会神,朝着目标前进。知道吗,这种方法让我完成任务的速度更快质量更高,这样我就有更多的时间休息了。

译文链接:http://www.codeceo.com/article/10-coding-skills.html
英文原文:10 Practical Tips for Software Engineers
翻译作者:码农网 – 小峰

微信二维码

 

分享到:
评论

相关推荐

    c++编程惯用法——高级程序员惯常用方法和技巧

    《C++编程惯用法——高级程序员惯常用方法和技巧》是一本面向有一定C++编程基础的开发者的专业书籍,由知名作者Robet B. Murray撰写。这本书深入探讨了C++编程中的高级技巧和最佳实践,旨在提升程序员的编程效率和...

    C++编程惯用法.高级程序员常用方法和技巧.pdf

    《C++编程惯用法:高级程序员常用方法和技巧》是一本专注于C++编程的书籍,由美籍作者Robert B. Murray撰写,王昕翻译。本书面向的是已经掌握C++基础知识的程序员,旨在向他们展示如何使用各种高级方法和技巧来提高...

    程序员编程帮助大全..zip

    【标题】"程序员编程帮助大全.zip"所包含的文件似乎是一个综合性的编程资源集合,针对程序员在编程过程中可能遇到的问题提供了各种辅助工具和文档。这个压缩包中的文件可能涵盖了编程环境配置、帮助文档、程序运行...

    程序员鱼皮的编程宝典。原创编程学习路线

    【标题】"程序员鱼皮的编程宝典"是一份由知名程序员鱼皮原创的编程学习路线,旨在为编程初学者及求职者提供一套系统性的学习路径。这份宝典涵盖了丰富的经验分享、技术知识、学习资源以及实用的学习建议,旨在帮助...

    C~C++程序员实用大全

    《C~C++程序员实用大全》是一本专为C和C++程序员设计的全面学习资源,旨在提供这两种语言的最佳编程指南。这本书涵盖了从基础到高级的C和C++概念,帮助程序员提升技能,掌握核心原理,并能有效地解决实际问题。 在...

    C语言高级程序员编程指南

    《C语言高级程序员编程指南》是一本面向有一定基础的C语言程序员的专业教程,旨在提升读者在C语言编程方面的技能和理解。这本书涵盖了C语言的高级主题,包括内存管理、指针操作、预处理器宏、复杂数据结构、低级I/O...

    Ruby编程,实用程序员指南Programming Ruby, The Pragmatic Programmer's Guide

    《Ruby编程,实用程序员指南》是一本针对Ruby语言的学习教程与参考手册,旨在为程序员提供一个全面、深入的Ruby语言学习资源。本书不仅适合初学者快速入门,也适合具有一定经验的开发者进阶学习。 ### 一、Ruby语言...

    C/C++程序员实用大全-C/C++最佳编程指南

    《C/C++程序员实用大全——C/C++最佳编程指南》是一本专为C/C++开发者设计的详尽参考资料,旨在帮助读者深入理解这两种强大的编程语言,并掌握高效的编程实践。本书涵盖了从基础知识到高级特性的全面内容,对于初学...

    电脑编程技巧与维护(主要是编程方面的实用技巧)

    在电脑编程领域,掌握实用的技巧和有效的维护方法是提升效率和解决问题的关键。《电脑编程技巧与维护》一书,汇集了众多编程实践中的精华,旨在帮助程序员们提高编程技能,优化代码,以及确保程序的稳定运行。以下将...

    PB经典编程技巧(多位老程序员的经验汇总)

    多位老程序员多年的编程技巧,经验收藏,原创作品

    程序员编程艺术--共二十七章-集锦与总结(教你如何编程)

    - **更新与演变**:从最初的“程序员面试题狂想曲”逐渐转变为更加注重编程能力和解决实际问题的“程序员编程艺术”系列。 - **团队建设**:创建了编程艺术室,汇聚了一批热爱编程的朋友,共同致力于提高编程技能。 ...

    程序员实用求职技巧x4

    在程序员的求职过程中,掌握一定的实用技巧至关重要。本资源包"程序员实用求职技巧x4"提供了四个关键领域的指导,帮助程序员在求职过程中更好地展现自我,提高成功概率。 首先,我们来探讨“程序员面试着装守则”。...

    _C语言高级程序员编程指南

    《C语言高级程序员编程指南》是一本专为资深C语言开发者设计的实用手册。它深入探讨了C语言的高级概念和技术,旨在帮助程序员提升技能,优化代码,以及解决复杂问题。这本书涵盖了C语言的核心特性、高级用法以及最佳...

    C++编程惯用法.高级程序员常用方法和技巧

    Murray撰写,王昕翻译,通过深入探讨C++的高级编程技巧和策略,旨在帮助程序员提升编程水平和工作效率。Robert B. Murray是一位在C++领域拥有丰富经验的专家,他曾在多家公司从事软件开发工作,包括著名的AT&T公司...

    程序员必备,非常实用的小软件

    URNotes是一款专为程序员设计的实用小软件,它允许用户创建桌面便签,方便记录临时的想法、编程技巧或待办事项。作为一个高效的工作辅助工具,URNotes能够帮助程序员提升工作效率,减少因遗忘重要细节而产生的困扰。...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版

    ### 程序员编程艺术第一~二十七章集锦与总结 #### 一、概述 《程序员编程艺术第一~二十七章集锦与总结》是由July及其团队成员共同完成的一份详尽的编程指南。这份资料从2011年4月14日开始创作,历时近一年,在2012...

    C语言高级程序员编程指南 PDG格式.RAR

    《C语言高级程序员编程指南》是一本针对有一定基础的C语言开发者深入学习和提升技能的教程。PDG格式可能指的是该资源的一种特定电子书格式,它可能包含了丰富的文本、代码示例以及可能的图片和图表,以帮助读者理解...

Global site tag (gtag.js) - Google Analytics