[转载]给TC使用者的一点建议
给TC使用者的一点建议(原作者,eastcowboy)
第一条:标准化。
能够用标准的功能,就不要用扩展的功能。
比如能够使用getchar, fgets等函数的地方,就不要使用getche, bioskey等。
你可以看看帮助文件,某些函数在“兼容性”一栏注明是ANSI的,
基本上就可以认为是标准了。使用标准的好处就是移植性好。比如你现在用TC,
以后换VC, GCC等,代码都不必修改。如果楼主坚持使用TC,这一点非常非常重要!
否则当你成为一个TC“高手”的时候,换个工具又要从头学起。
第二条:防止非标准功能的扩散。
比如你要画图,使用一个叫bar的函数来画一个矩形。因为你的程序中很多地方都需要画图,
所以你的程序中很多地方都调用了这个bar的函数。但是这个函数是TC才有的,
换了VC, GCC等工具就没有了。如果你哪天想写一个俄罗斯方块VC版,俄罗斯方块GCC版,
那么你必须找到你的程序中所有调用了bar函数的代码,
然后把它们全部改成在VC/GCC中可以运行的代码。这个工作量是很大的。
如果你一开始就自己写一个叫做draw_rectangle的函数来画矩形。
你的程序中只有这个draw_rectangle函数中调用了TC的bar函数,
而其它地方画图就不再调用bar函数,只调用你自己写的draw_rectangle函数即可。
如果你哪天想写一个俄罗斯方块VC版,只要修改draw_rectangle这一个函数就可以了,
其它的代码可以保持不动。
第三条:明确你的目标。
俄罗斯方块是一个经典游戏,很多人都在做。但是做完了收获却各不相同。
有些人只是为了练一下自己用TC画图的能力,来做这个俄罗斯方块,
这样的人肯定不会有太多收获。做完以后就放到一边了,没什么机会反思。
有些人是为了锻炼一下自己编写中型程序的能力,
比如编写了键盘处理模块、画图模块、俄罗斯方块下落和变形计算模块等等,
这样的人收获就会大得多。
有些人不仅仅是编写了模块,更加意识到俄罗斯方块这个程序的基本结构,
就是一个游戏程序的基本结构,把它作为自己编写游戏程序的入门练习。
这样的人收获可能会更多。
第四条:眼光要新。
用过TC的人不少,但是最后的成就却不一。眼光是一个重要原因。
你用TC,你就要了解它的好,它的坏。现在流行的工具是什么,它的好坏各有哪些。
举个简单的例子:
char* s = "abc";
s[0] = 'b';
现在流行的工具中,这种代码虽然编译正确,运行却是要出错的。
但是TC就不会出错。你要明白这其中的原因。
而绝对不要想当然的认为“我在TC中测试过了,这样没问题”,那会铸成大错。
你要明白为什么TC支持设置键盘中断,但是现在流行的各种编程工具基本上都不允许。
你要明白为什么TC支持远指针,但是现在流行的各种编程工具基本上都不允许。
你要明白为什么TC里面很多人写#include 但是现在大家都写#include 。
你要明白为什么当有人讨论i=0; (++i)+(++i)等于几的时候他们会吵起来。
当你把自己的测试结果公布出去以证明自己的正确时,
发现别人正好公布了他的另一个测试结果。而两个结果是矛盾的。
等这一切你都明白的时候,恭喜你,你成长了。
第五条,还是换别的工具吧,莫用TC了。
如果你觉得某件事情“能做,但是难做”,那么可以说它有挑战性,如果成功了会让人惊喜。
但是有些事情不是“能做,但是难做”,而是“基本上不能做”,
这个时候再去做它就显得愚笨了。现在TC“能做,但是难做”的事情并不多,
很多都是属于“基本上不能做”的。这并不适合挑战。
有精力,有干劲,这是非常好的事情。但是如果没有好好利用,那也是一种浪费。
不要以为坚持使用TC就是牛,就是勇敢。正好相反,对于一个用惯了TC的人,
换一种工具需要莫大的勇气!我相信楼主肯定有这种勇气,跨出这一步,
你才知道世界是多么的宽广。
阅读(900) | 评论(0) | 转发(0) |