有助于提升编程水平的十件事

我们一直努力又努力去掌握那些对于我们来说是全新的东西。那么,我们做什么来帮助学习?下面是一个关于如何使你编程更迅速合理的10件事情的列表。我更习惯与使用Ruby on Rails,但下面的观点也适用于其他环境。

1.升级单元测试

你的编程没有测试?你应当随时进行测试,即TATFT ( testing all the fucking time )。当然你应当选择比仅是单元测试更好的方式。RSpec和Shoulda是两个可以选来使用的工具。

2.试用TDD

既然你在测试,那你就应当记录下这些测试。不要记录代码并用后来的测试覆盖它,而应当是方法的记录。TDD ( Test Drive Development ) 可以使你编出更好的代码,TATFT最重要的基础就是 TDD。进行TATFT并不难,首先你写下你所能做的最简单的测试并运行,观察测试的失败,然后写出执行语句以便使测试通过,不停地重复这样的过程就可以了。

3.自动化部署

自动化是你最好的朋友,想要实现自动Capistrano是相当好用的工具。在你配置部署好你的项目后,第一个要装的东西就应当是Capistrano。从第一天起就可以自动化部署将会节约你大量的时间。

4.安装 SCM

安装 SCM并学习使用它,这样做的好处是可以使那些超重的库中的代码不再那么冗繁,目前有大量的工具可以选择,我每天使用的是Git。Git是一款很特别的分布式SCM,即DSCM。DSCM是很有前景的,它可以同有其他库的用户们协同工作。

5.审查持续集成

现在我们已经测试了代码并将其安全的存放在库内。比起不停地测试,什么是更好的方式?自动测试是个不错的选择。很感激有cruisecontrol.rb的存在,这个应用工具自动运行了那些琐碎的测试。

6.了解你的代码

写代码是一回事,但是更重要的事情是了解代码。可以用四种自动化工具来帮助你了解代码:flog、 tarantula、rcov 和saikuro。这些工具分别有其独到之处,我很乐意向你介绍它们。

Flog,可以按字母排列的顺序来记录复杂的结果。

Tarantula,根据相关性原则和一些灵活的创意设计的。它所做的是spider 你的Rail应用以便去搜索坏链接。这真是令人得到解脱,使我受益匪浅。

Rcov,这是一个在Ruby界相当受欢迎的工具。它是一个C0范围工具,换言之,它精确的测定出你的代码中哪些部分在被测试,哪些部分没被测试。唯一的缺陷是它不能测试诸如:“if condition_a && condition_b || condition_c”. 这样的语句。

Saikuro,可以测量出你代码环的复杂性,即可以计算出你代码branche 和path的数量。当然你代码的复杂性越低,它运行的越容易。

7.升级你的Fixtures

Fixtures 是看起来很有创意的事物之一,但有诸多的弊端。对于Fixtures,只有极少的替代,我选择使用Rails Scenarios,原因是它在测试中工作起来像Fixtures一样,但是允许我做比YAML更好的DSL。我也可以在一个文件内指定多重的 Scenarios,这将使事情变得更有组织性。

8.收集分析对象

在Rail平台上搭建新的系统。每周都会有新的监控工具出现,这样我们有很多的选择,在这里我介绍我已经使用过的工具:HopToad 和 TuneUp。

HopToad对于异常报文有不错的能力,它可收集间断应用并用简便的方式显示收集结果。还有,这是一个免费软件~

TuneUp用另外一种方式获取数据,它计算每一处分别花费多长时间去组合自身。你的页面是不是花费了很长时间去组建?但你又不知道是因为什么缘故花费了这么久,使用TuneUp来查一下吧,你会发现一些你以前从未想到过的事情。另外,TuneUp是一款开源软件,你可以登陆进他们的托管服务分享你的结果。

9.阅读其他人的代码

你想成为更优秀的程序员吗?那一定要多读代码,这包括好的、坏的、你自己的、其他人的代码等。阅读代码是一项很多程序员都不重视的技能,但其实能够快速阅读他人的代码并理解其中的含义是一种极其需要的能力。

10.写博客的习惯

就我个人来说,当我阅读博客的时候我可以找到所有的信息。大部分时候我是会撰写跟技术相关的要点,偶尔讨论点轻松的话题。写博客是出于分享的原因,你可以写下能够帮你节约时间的技术技巧,也可以是一些你想要记住的技术难点和命令之类。

时间: 2024-11-02 05:16:06

有助于提升编程水平的十件事的相关文章

关于编程,大学没有传授的十件事

笔者依然记得当年完成学业时,深信自己已经准备好进入任何一家软件公司,并开始成为一个顶级的开发人员.显然,开始工作后没多久,笔者就意识到,还有很多事是我所不了解的. 在不断吸取经验的同时,笔者一直在努力学习那些我从来没有学过的,但却是成为优秀的开发人员所应了解的基本知识.以下是笔者希望自己能在学校就学到的十件事. 1. 我们总是错的 开发人员有着相当大的自我意识,包含了一些其他的非技术性缺陷,这也正是为什么我们很难发现我们做错了什么.我看到过很多无休止的设计讨论,开发人员不断地发表自己的想法--呵

分享SEO前进道路上必做的十件事(二)

在以前的文章分享SEO前进道路上必做的十件事(一)中,我和大家分享了SEO前进道路上必做的五件事,分别是解决收录问题.研究带来流量的页面.查看频道页的排名.通过基本流量挖词.多在意其它搜索引擎,这些都要求我们不断的对网站进行观察和修改,以便为以后做铺垫,今天接着上篇文章继续分享下文,也有五个方面. 优化长尾关键词 对于大型网站来说,长尾关键词是我们不得不考虑的一个因素.用户长尾关键词可以说是SEOER的一门必修课.即使我们的网站规模很小,内容也不够多,但是只要累积,还是能看到效果.长尾关键词的优

创业之前你最应该做的十件事

35岁是青春的后期,35岁以后是收获的季节,如果你没有资格说这句话,你将会憎恨自己.所以在35岁以前,在烂漫蓬勃的青春年华里,你最好把下面十件事做好: 第一,学会本行业所需要的一切知识并有所发展.已故零件大王布鲁丹在他35岁时,已经成为零件行业的领袖,并且组建了年收入达千万美元的海湾与西部工业公司.每个人在年轻时都可能有过彻夜不眠.刻苦攻读,这在20岁甚或30岁都没有问题,但到了35岁,就不应该再为学习基本技能而大伤脑筋了.35岁之前是一个人从事原始积累的阶段,35岁之后就应该勃发了. 第二,养

使用Linux之前你应知道的十件事

Linux 不是 Windows.尽管它们也有相似之处,但你必须意识到,在你能舒舒服服的使用 Linux 之前,可能得先学习一些处理事情的新方式.Linux 是 UNIX 的开源克隆版本,UNIX 是个在 DOS 和 Windows之前就已存在的健壮的多用户操作系统(OS).下列条款一般而言适用所有基于 UNIX 的 *nix 系统,如 Linux 和各种 BSD 发行版.鉴于本文之目的,假定它是各种 Linux 发行版. 下面是你应知道的十件事: 文件系统 和那些为每个盘建立一棵文件树的操作系

购买刀片服务器之前用户需要知道的十件事

作为一个http://www.aliyun.com/zixun/aggregation/8510.html">IT经理,用户可能会遇到许多厂商宣传其解决方案更好.更节省成本.更有效率等等.许多新产品和技术推出之后都会使用营销战略,不过,如果我们抛弃大量的营销宣传并且落实到事实,又会出现什么情况呢?目前,刀片服务器到底能为用户做什么.在我们去掉那些言过其实的宣传之后,厂商围绕刀片服务器的宣传还能站住脚吗?让我们看看在购买刀片服务器之前用户需要知道的十件事. 1.刀片服务器使用较少的电源 这种

购买刀片服务器用户需要知道的十件事

http://www.aliyun.com/zixun/aggregation/13737.html">刀片服务器比机架式服务器更节省空间,同时,散热问题也更突出,往往要在机箱内装上大型强力风扇来散热.此型服务器虽然空间较节省,但是其机柜与刀片价格都不低,一般应用于大型的数据中心或者需要大规模计算的领域,如银行电信金融行业以及互联网数据中心等. 目前,节约空间.便于集中管理.易于扩展和提供不间断的服务,成为对下一代服务器的新要求,而刀片服务器正好能满足这一需求,因而刀片服务器市场需求正不断

WordPress更换域名后所要注意的十件事

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 WordPress更换域名可能大家都经历过,在新旧域名更换的过程中,如何才能使损失减到最少,这对于注重SEO的站长们却是至关重要的了.一面我就自己的经历谈一谈WordPress更换域名后注意的十件事. 一.修改数据库配置文件 如果你在同一主机同一空间上更改域名,这步可以省掉,如果数据库不同,还得要打开wp-config.php将数据库配置正确

Photoshop开门十件事

Adobe Photoshop是目前最流行的平面设计软件之一.可以说,只要你接触平面设计,那么无论早晚,你都要和它打交道.关于Photoshop,要说的实在太多太多,但不论你想让它成为你的左膀右臂,或者仅仅是用它来做一些最基础的图像处理工作,那么下面的10件事都是你一定要知道的,无论你是个初学者或是已经对它有了一定的了解. 1.快捷键的使用:这是Photoshop基础中的基础,却也是提高工作效率的最佳方法.快捷键的使用,使你可以将精力更好的集中在你的作品而不是工具面板上.一旦你能够熟练的使用快捷

Photoshop 开门十件事

AdobePhotoshop是目前最流行的平面设计软件之一.可以说,只要你接触平面设计,那么无论早晚,你都要和它打交道.关于Photoshop,要说的实在太多太多,但不论你想让它成为你的左膀右臂,或者仅仅是用它来做一些最基础的图像处理工作,那么下面的10件事都是你一定要知道的,无论你是个初学者或是已经对它有了一定的了解. 1.快捷键的使用:这是Photoshop基础中的基础,却也是提高工作效率的最佳方法.快捷键的使用,使你可以将精力更好的集中在你的作品而不是工具面板上.一旦你能够熟练的使用快捷键