-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
47 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,55 @@ | ||
# Chapter6-useful-tools | ||
|
||
## 文本编辑器 | ||
|
||
在节[不会Coding如何破?](../chapter3-advanced-programming-part1/README.html#sec-coding)中提到:「一旦算法(伪代码)描述齐备,程序编写不过是打字校对的工作。」咱们平时学习工作都非常讲究效率,那么「打字校对」的工作是不是也可以也有一些比较好的办法来提高效率呢?答案是肯定的!一些聪明的程序员早已想好了各种办法来提高Coding的效率,其中之一便是选择一款适合自己的高效Text Editor(用来输入程序代码的玩意儿,称为文本编辑器)。Windows下大家最常见的恐怕就是记事本程序咯,够小巧,但我想应该没几个人愿意一直用这玩意儿吧?输几行代码进去它似乎什么反应也没有,代码高亮也没有。Linux 下最普通的便是 nano 了。不过比起下面即将出场的两位大神恐怕他们都得往一边站,OK,该轮到Vim和Emacs出场了。 | ||
|
||
* Vim-the god of editors | ||
* Emacs-the god’s editor | ||
|
||
<dl> | ||
<dt>Vim-Vi IMproved</dt> | ||
<dd>Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。开始学习的时候可能会进展缓慢,但是一旦掌握一些基本操作之后,能大幅度提高编辑效率。详细介绍和教程自行Google和查看help手册。[[2]](#ref2)</dd> | ||
|
||
<dt>Emacs</dt> | ||
<dd>Emacs即Editor MACroS(宏编辑器),是一种文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。同上,相关详细介绍自行。</dd> | ||
</dl> | ||
|
||
两款神器我就不在此赘述了。 | ||
|
||
和平时大多数人用 WPS, Word 和 LaTeX 写文档一样,用的熟练的人很快就能完成一份精美的文档,而对于不熟练的人来说就只能面对屏幕望洋兴叹喽,学习新事物是需要成本的,你现在的每一滴汗水都是在为你自己的将来投资。 | ||
|
||
### 编码风格 | ||
|
||
* * * * * | ||
|
||
代码风格好不好就像字写得好不好看一样,如果一个公司招聘秘书,肯定不要字写得难看的,同理,代码风格糟糕的程序员肯定也是不称职的。虽然编译器不会挑剔难看的代码,照样能编译通过,但是和你一个Team的其他程序员肯定受不了,你自己也受不了,写完代码几天之后再来看,自己都不知道自己写的是什么。Thus, programs must be written for people to read, and only incidentally for machines to execute. 代码主要是为了写给人看的,而不是写给机器看的,只是顺便也能用机器执行而已,如果是为了写给机器看那直接写机器指令就好了,没必要用高级语言了。代码和语言文字一样是为了表达思想、记载信息,所以一定要写得清楚整洁才能有效地表达。正因为如此,在一个软件项目中,代码风格一般都用文档规定死了,所有参与项目的人不管他自己原来是什么风格,都要遵守统一的风格。[2]在编程初期就要养成好的习惯!!! | ||
|
||
|
||
# 学习习惯与工具 | ||
* 书籍:简单经典的入门或者概论类书籍,可以在豆瓣或者Amazon美国官网上对比 | ||
* 经典论文:引用次数最多或是被收藏次数最多,使用Google Scholor即可 | ||
* 搜索引擎前几十页:推荐Google | ||
* 行业专家观点或是博客:可使用RSS订阅 | ||
* 与同行专业人士交流:参与社区交流——研讨会,网络论坛,邮件列表 | ||
* | ||
|
||
|
||
|
||
### How to find classic books?-如何找到好书 | ||
|
||
* * * * * | ||
|
||
这个问题十分关键,也是我们最应该分享给读者的。**<font color="red">授之以鱼,不如授之以渔。</font>**全世界每天都在出版各种不同的书,我们不可能有那么多时间一本一本去挑。一般来说,经典书籍肯定是要经得起大家的检验的。 | ||
|
||
在国内出版电子计算机方面教材比较多的出版社有人民邮电出版社、电子工业出版社、清华大学出版社以及机械工业出版社,这四家出版社出好书的可能性相对会大一些,但并不意味着出的都是好书。国外的Addison Wesley, Microsoft Press, McGraw Hill, Pearson & O'Reilly也是尽出猛书的地方,像Addison Wesley, Pearson, McGraw Hill这三家出的其它比如数理电子类教材经典的也比较多,图书馆到处都能看到这三家出版社的书。 | ||
|
||
以上是从大的范围去挑,书是人写的,书好不好在很大程度上是由编者水平决定的,所以说要去找某领域比较好的书籍可以先找找这个领域有哪些领军人物,再去看看TA都写了什么书。 | ||
|
||
如今的网络十分发达,信息的公开程度也越来越高,像国内的[豆瓣](http://www.douban.com)在书籍、电影评论这一块就做的非常不错,有很多很多圈子和小组供你查看,如果是比较好的书的话上边一般都会有较多评价,我们可以根据上边的评分以及评论进行抉择。国内买书推荐去[卓越亚马逊](http://www.amazon.cn)和[当当](http://www.dangdang.com),但是这两家网店上的书评就不咋滴了,用户参与评论的积极性不够高。国外的网站推荐到[Amazon](http://www.amazon.com)看看,记住不要把国外的这个网站和国内的卓越亚马逊混一块了,Amazon上的书评很有参考价值。再者就是一些论坛了,不过国内的论坛总体而言显得很乱,国内网民的参与积极性也不像欧美国家那么高,很多回复只是灌水而已,毫无价值可言。国内的[CSDN](http://www.csdn.net)算是IT方面比较齐全的网站了,但是现在里边特别乱,提问题后得到比较满意的答复的可能性较小。在资料整合这一块个人认为[大家网论坛](http://club.topsage.com)做的不错,社区不少资料就是从它上边弄下来的,不过自己要注意资料的取舍。 | ||
|
||
最后还是想提的就是建议大家学会使用Google & Wikipedia, 这两个东西组合在一起能解决你绝大部分问题,更是你成长的催化剂。 | ||
|
||
有关Google的使用方法在它首页的帮助里边有,找时间看看。**工欲善其事,必先利其器!** | ||
|
||
[2] 本段大部分内容引自《Linux C编程一站式学习》-http://learn.akae.cn/media/ch09.html 如与GFDL许可证相冲突,请作者及时与我们联系 |