| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:【转】给TC使用者的一点建议
只看楼主 加入收藏
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
结帖率:100%
收藏
 问题点数:0 回复次数:8 
【转】给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 <iostream.h>但是现在大家都写#include <iostream>。
你要明白为什么当有人讨论i=0; (++i)+(++i)等于几的时候他们会吵起来。
当你把自己的测试结果公布出去以证明自己的正确时,
发现别人正好公布了他的另一个测试结果。而两个结果是矛盾的。
等这一切你都明白的时候,恭喜你,你成长了。

第五条,还是换别的工具吧,莫用TC了。
如果你觉得某件事情“能做,但是难做”,那么可以说它有挑战性,如果成功了会让人惊喜。
但是有些事情不是“能做,但是难做”,而是“基本上不能做”,
这个时候再去做它就显得愚笨了。现在TC“能做,但是难做”的事情并不多,
很多都是属于“基本上不能做”的。这并不适合挑战。
有精力,有干劲,这是非常好的事情。但是如果没有好好利用,那也是一种浪费。
不要以为坚持使用TC就是牛,就是勇敢。正好相反,对于一个用惯了TC的人,
换一种工具需要莫大的勇气!我相信楼主肯定有这种勇气,跨出这一步,
你才知道世界是多么的宽广。
搜索更多相关主题的帖子: 使用者 
2009-11-10 23:07
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
收藏
得分:0 
初学者应该拿什么练习、学习呢...?
2009-11-10 23:26
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
看你的学习目的吧
为了考试,tc没错

想象力征服世界
2009-11-10 23:30
jinmu
Rank: 2
等 级:论坛游民
帖 子:34
专家分:93
注 册:2009-11-9
收藏
得分:0 
从TC换到VC困难吗?
2009-11-11 13:19
human84
Rank: 3Rank: 3
来 自:哈尔滨 / 重庆
等 级:论坛游侠
帖 子:154
专家分:141
注 册:2009-11-1
收藏
得分:0 
要不是为了考试呢?
从事这方面工作,和以后学习java \  .net 。
2009-11-11 15:33
万改称才
Rank: 3Rank: 3
来 自:温州
等 级:论坛游侠
帖 子:58
专家分:113
注 册:2009-11-10
收藏
得分:0 
我们这考试 环境是用VC的


老师说 : 好好读书
2009-11-11 15:35
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
VC吧

想象力征服世界
2009-11-11 17:51
书恒
Rank: 2
来 自:石家庄
等 级:论坛游民
帖 子:48
专家分:52
注 册:2009-11-10
收藏
得分:0 
vc和tc有什么不同啊?还有我们学了getchar以后基本没用过它啊

好好学习,誓死学好专业!!!
2009-11-11 20:36
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
主要是标准化与可移植性的问题
LS,
试下这个题:
统计输入单词数,输入单词以空格隔开
接收输入就用getchar()

想象力征服世界
2009-11-11 22:21
快速回复:【转】给TC使用者的一点建议
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018423 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved