zoukankan      html  css  js  c++  java
  • 程序员的10大编程技巧

    1橡皮鸭调试法


    不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?


    这种情况的产生是有科学依据的。高谈阔论能让我们的大脑重新有条理地组织问题。在这种情况下,你的聊天对象就是“橡皮鸭”。团队中的每个人都应该积极主动乐意地成为彼此的“团队”。有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢。


    2快速反馈信息


    一旦写好代码就要尽快得到反馈。当收到大量的Pull请求,不妨做些细微的改动,然后立马打开PR,讨论设计和代码。


    和你的“橡皮鸭”交流一下,请他们提点建议。要知道,迭代原型可远比纠正成品要节约成本。


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


    3搞定端至端


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


    例如,假设我需要在网页上设置一个功能,能在用户点击之后做一些复杂运算并把结果存储到服务器中。有些童鞋可能想着想着就先去研究这个运算方式了。


    我们的做法是,先为用户的操作设置事件处理程序,用一些固定的值来模拟计算,然后调用API向服务器请求数据。这样一来,我们就没必要先考虑每一个具体细节,可以直接端至端地测试系统。


    同时,这个快速的反馈回路有助于我们更快地迭代和写代码。一开始出来的设计可能并不完美,但是通过亲眼目睹各个部件是如何组合的,我们将会对整个系统有一个更清晰的了解,做出最优的设计。


    4适当离开电脑


    有时候在调试时,console.logging无处不在,最好的方法就是测试代码。也有的时候,你绞尽脑汁呕心沥血地想要解决一些复杂的设计和问题而不得其法,那么你最好先暂时离开一会。


    虽然这听上去有点不可思议,但是有的时候,的确是在其他地方想到了问题的症结所在。


    我的朋友,她也是软件工程师,曾告诉我,当她睡觉的时候常常会有各种奇思妙想(有时闭上眼睛天马行空,有时想到各种方案纷至沓来)。打个盹、散散步、上个厕所……都可以,总之适当离开电脑。


    5自动化


    很多繁琐的进程被开发人员自动化,这样效率会提高很多。


    很多人一直以来都认为自动化只能节约时间,这是一个很普遍的误解。


    其实不仅如此,自动化最大的优点是让你的思想策马奔腾无所阻碍,朝着完成目标的方向奋勇前行。


    于我而言,自动化是一种更为积极的工作态度。


    6自己动手,“勤加练习”


    当我们在设计新代码时,都希望自己能写出完美的代码,发现每一个抽象概念。


    但是当我们致力于设计新代码时,抽象概念却又成为了干扰因素,即便这些抽象再怎么显而易见、易于设计。我的做法是,不要立刻思考各种抽象概念,先简单机械地复制一些代码作为原型。


    这能让我迅速上手新项目,效果比我仅仅只是纸上谈兵要好,之后所能做的抽象发散也更广阔。


    不过,可不要光复制,还要清理代码,不然它们很快就会变成一笔烂摊子。


    7很重要的运动


    写代码其实并不能燃烧很多卡洛里,因此我们必须强迫自己动起来。可以不时地伸伸懒腰,经常性地走来走去。此外,久坐经常肩膀疼背疼,如果你也有这方面的烦恼,不妨试一下这个方法,起效快、效果好。每隔一小时左右做几个俯卧撑,拉伸肌肉,保持活力。


    8前文阅读


    阅读别人的文档、技术文章和代码常常让我抓狂。


    为了不气得抓耳挠腮、捶胸顿足,不妨先阅读前文,以期更多的细节内容。


    程序中的概念很难用线性方式表达出来。阅读前文能让我们更清楚文章内容和代码在说什么。


    9认真做笔记


    有些组织化程度较低的开发人员可能会对这个技巧嗤之以鼻。


    知道我是怎么做的吗?我会将每一天我做了什么、遇到的问题以及我是如何解决这些问题的等等,都详细地记录下来。然后当我再次碰到类似的问题时,那就再也不会只能“执手相看泪眼,竟无语凝噎”了。


    这些笔记成为了我无价的财富,因为我可以运用之前的经验和智慧来解决现在的问题。这是自己为公司所做的贡献和自己的成就。


    10给明天做个计划


    要么是下班回家之前,要么是晚上睡觉前,我都会在笔记本中为明天列个待办事项列表。


    这样,当这一天来临的时候,我的目标就很明确,知道自己要做什么,专心致志,聚精会神,朝着目标前进。


    知道吗,这种方法让大家完成任务的速度更快质量更高,这样大家就有更多的时间休息了。

    ------文章转自代码湾,如侵联删


  • 相关阅读:
    'Undefined symbols for architecture i386,clang: error: linker command failed with exit code 1
    The codesign tool requires there only be one 解决办法
    XCode iOS project only shows “My Mac 64bit” but not simulator or device
    Provisioning profile XXXX can't be found 的解决办法
    UIView 中的控件事件穿透 Passthrough 的实现
    Xcode4.5出现时的OC新语法
    xcode 快捷键(持续更新)
    打越狱包
    php缓存与加速分析与汇总
    浏览器的判断
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12352481.html
Copyright © 2011-2022 走看看