《Pragmatic Programmer》读后感(三):利用一些基本工具提高编程效率

news/2024/7/21 13:53:21 标签: 工具, 编程, 文本编辑, emacs, vim, windows

    说实在的,编写程序是一件费时又费精力的事情。虽然,我们在实际的开发过程中,大都采用面向对象的编程思想来实践着,同时在代码重用方面也有了质的飞跃,但是,不过如何,程序还得需要我们动手去完成。或许,作为开发者,大都非常关注编程的效率问题,都希望能够快速而简单地编写程序并成功地运行。

    今天,这里仅仅谈谈如何利用一些基本的工具来提高编程效率的问题,这个也是笔者在阅读完《Pragmatic Programmer》第三章之后的一些心得体会。
    首先来看看我们编写代码时可能经常都会使用到的文本编辑器之类的工具。虽然并不是每一个程序员都会使用到这些编辑器来辅助完成代码编写,也许有些程序员还是比较喜欢用纸和笔,或者干脆不用直接动手,但是相信大部分程序员都会用使用文本编辑器的经验。在Windows操作系统上进行开发的朋友也许会经常用记事本,至少笔者曾经就是这么干的。然而像记事本这类文本编辑器着实过于简单,很多时候并不能满足我们的要求,于是我们就会尝试着找一些替代品。像Notepad++、Emacs、UltraEdit32、Vim、TextPad等都是非常不错的选择。

    1、Notepad++:优于Windows记事本的一个文本编辑器,完全免费且开源,对于不同的编程语言可以实现语法高亮,代码折叠以及宏,起可定制性非常强。这也是目前笔者最喜欢使用的一款文本编辑器。

    2、Emacs:该文本编辑器深受高级程序员的喜爱,具有内置的宏功能以及强大的键盘命令,这对于编辑代码来说真是一种享受,这个程序几乎被移植到了每一个平台,并有多个发行版,其中最流行的是GNU Emacs和XEmacs,它们是跨平台、完全免费并且开源。笔者曾经接触过XEmacs,感觉还是不错的。

    3、UltraEdit32:该编辑器提供了友好界面的编程编辑器,支持语法高亮,代码折叠和宏,以及一大堆其他的功能,内置了对于HTML、PHP和JavaScript等语法的支持。不过,该编辑器属于共享软件,需要收取一定的费用。笔者使用过该软件的试用版,感觉其中一个很大的特色就是该编辑器支持二进制,可以很方便地查看诸如音视频文件的二进制数据。

    4、Vim:Vim以键盘宏而广受欢迎,做为著名的老牌编辑器Vi的后代,Vim很适合键盘操作的程序员的口味。Vim的可定制性很强,Windows用户可以试试gVimgVim Portable ,Mac用户则有MacVim。该编辑器笔者没有实际接触过,不过对其倒有所耳闻罢了。

    5、TextPad:拥有适合程序员的多种功能,语法高亮,代码拦截以及宏,TextPad具有不错的搜索能力和易用性。同样,该编辑器也属于共享软件,需要收取一定费用。笔者亦使用过其试用版本,感觉良好。

    除了上面提到的几款当下比较流行的文本编辑器之外,还有像JEdit(需要JVM支持)等。

   

    其次,或许很多朋友都会有这样一个体会,项目做得多了,其中会有很多非常相似的代码工作,这些代码工作虽然简单但很繁琐,那么何不从手工编写这些看似简单重复的代码中解放出来,让其朝着自动化的方向发展呢?的确,很多朋友都这么做了,当然也收到了非常不错的效果。使用Asp.Net做应用开发的朋友可能都知道动软代码生成器这个东东,只要做好数据库等方面的设计工作,然后通过代码生成器就可完成一个粗略的三层架构的项目工程。此外,相信也有不少朋友对CodeSmith这个代码生成工具并不陌生吧,又是一个很好的代码辅助生成工具。通过诸如此类的代码模块库、工具等,可以大大提高我们的编码效率。

   

    另外,还有很多非常有用的工具,像在VS中使用GhostDoc可以自动生成注释,使用NDoc可以生成文档,使用Javadoc可以生成文档,等等。通过这些工具的合理使用,可以进一步减少重复的和繁琐的工作,重复的工作少了,我们就可以将更多的精力放在关键的技术难点、重要的业务逻辑处理方面,从而进一步促进项目的快速开发和交付,进一步提高软件产品的质量。


http://www.niftyadmin.cn/n/1863344.html

相关文章

如何使用Arduino和SIM900A GPRS / GSM模块将数据发送到Web服务器

今天我们在这里介绍一个非常有趣的项目,我们将使用Arduino开发板和GPRS将数据发送到SparkFun服务器。这是一个基于IoT的项目,我们将使用GSM模块SIM900A将一些数据发送到互联网上的Web服务器。 在这个项目中,我们将使用4x4数字键盘输入一些文…

德州仪器发布99%高效GaN逆变器功率级的参考设计

德州仪器发布了新的功率级参考设计 - TIDA-00915,官方称其效率可高达99%。该参考设计主要是用于三相高频GaN逆变器。它内置TI的LMG3410 600 V 12-A氮化镓(GaN)电源模块。特别之处是,该设计内建了六个这样的电源模块。 …

用JAVA实现排序算法之一:冒泡排序

最近一段时间在努力学习回顾JAVA方面的相关知识,这其中涉及到了几种常用的排序算法。笔者虽知用JAVA实现简单的排序算法早已不是什么新鲜事,类似的实现更是多如牛毛,而笔者在这里之所以老调重弹,最基本的出发点无非就是巩固已学知…

用JAVA实现排序算法之二:直接插入排序

本篇介绍直接插入排序算法的JAVA实现。 直接插入排序算法的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素&#xff…

基于ATtiny85轻松制作一款智能手表

这是基于ATtiny85系列的简约手表系列中的第三款。该款手表通过在微型64x48 OLED显示屏上绘制模拟的手表来显示时间。它使用独立的晶振控制的低功耗RTC芯片来保持每月几秒钟的时间,并在不显示时间的时候将处理器和显示器置于睡眠状态,以便使得使用寿命超过…

JAVA程序填空题用公式求e_Java 使用对象 编程练习题

1、单词长度题目内容:你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“its”算一个单词,长度为4。注意…

STEVAL-SPIN3201电机驱动器评估板简介

STEVAL-SPIN3201评估板 内嵌STM32微控制器的高级BLDC控制器STSPIN32F0评估板 STMicroelectronics STEVAL-SPIN3201评估板是一款三相无刷直流电机驱动器。 该评估板采用了STSPIN32F0控制器和STD140N6F7 MOSFET。STEVAL-SPIN3201 为实现低压电机驱动应用提供了一个既经济实惠又…

用JAVA实现排序算法之三:直接选择排序

本篇文章介绍直接选择排序算法的JAVA实现。 直接选择排序算法的基本思想是:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空。 ②第1趟排序 在无序区R[1..n]中选出关键字…