免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 299356 | 回复: 139

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2004-04-10 07:11 |显示全部楼层
鉴于连日来各个版面都出现的一些问题,
我本人就此说一些我自己的一些观点。


假如你还没有读过本文,请尽量抽出一些时间仔细地读一读它。



1,请在你有空的时候,多去读一读置顶的精华目录里边的帖子,哪怕是你现在还没有碰到什么麻烦,也请尽量去读一读它。精华通常是以前讨论过的一些比较精彩的帖子,也许会对你的学习有所帮助。

2,平时有空了,多来几次这个论坛,碰到别人讨论某个自己比较熟悉的问题的时候,请尽量参与发言。通常情况,你自己认为是对的东西说出来以后都会有人反驳,在辩论的过程中你会发现自己对相关知识的认识会更进一层。

3,假如你碰到什么麻烦了,请尽量回忆一下,精华中是否有相应的内容?如果没有,再去发帖子。当然了,如果第一步你做的比较好的话,你基本上都会很快做出判断的。

4,置顶的帖子中有一些书籍,都是大家公认为比较出色的,如果你还有业余时间,请下载下来抽空阅读一下,对提高你的水平大有裨益。

5,当你通过论坛解决了自己的问题之后,不妨把解决的方法写出来,告诉大家。这样会很方便后来的人。还有可能被版主加为原创精华哦!



为了尽量不耽搁大家的时间,我就仅仅提醒这些了。
如果你还有更多的时间,请务必阅读一下《提问的智慧》一文:
http://www.9238.net/stone/tiwendezhihui.htm


增补:
1,大家发完帖子都顺便看一看、看是不是发对了?
怎么有很多人发的帖子里边乱七八糟一堆乱码,然后就不管了?
不要一发完就跑到一边儿玩去了,等过一阵子再刷新一下,看有没有人回复。


2004.07.08 增补:
今天看《一切从游戏开始》,觉得其中这一段话不错,特来共享给 BBS 上的朋友们。(注原文中的文字一个都没有改,不知道为什么说是五个方法而下面却又列出6条。)

  1. 解决编程问题的五个方法
  2. 1. 把问题规范成一个普遍的形式,这样更容易和别人交流以及找相关资料.
  3. 2. 自己尝试找答案.
  4. 3. 在网上搜寻更好的答案.
  5. 4. 想一个方法来打败这个更好的答案.
  6. 5. 翻查教科书或是文献,从基本开始思考有没有最好的解.这些书能被选成教本一定有它的原因.
  7. 6. 研究问题的特殊情况, 也许会有别出心裁的巧妙方法.
复制代码


2004.12.13 增补:
《你的灯还亮着吗?》一书中写道:
当你为了寻找解决问题的方法而累得筋疲力尽时,不妨向后看看,看看你是不是已经迷路了?你的问题究竟是什么?



2005.01.29  增补:
节选自 http://wiki.perlchina.org/main/show/brian%27s+Guide+to+Solving+Any+Perl+Problem
当你的程序碰到了问题时,请试着按照下面的思路处理一下:

这是个人问题

别老想着是你的代码。你可能觉得自己是个艺术家,但实际上就算是经验丰富的大师也会写出很多垃圾。每个人的代码都是垃圾,我的也是你的也是。要学着去喜欢它。当你碰到问题的时候,你应该想:“噢,我写的垃圾代码出了点问题。”这说明你不再去责怪Perl。不应该变成个人性的问题。

个人责任感

如果你的代码出了问题,那仅仅是————的问题。你应该尽最大的力量自己解决。记住,每个人都有自己的代码,每个人都有自己的问题。自己的作业自己做,在麻烦别人之前先尽自己最大的努力。如果你老老实实地按照这个指南做了所有能做的事之后,依然不能解决问题,那么你已经尽力了,应该找别人来看看。

改变你做事的方法

改正之后不要再犯同样的错误。很可能是你写代码的方法错了,而不是你写的代码错了。改变你以前做事的方法,让生活更容易些。不要指望Perl来习惯你,因为这是不可能的。你要习惯Perl。它只是种语言,而不是种生活方式。

解决第一个问题先!

你从Perl中得到警告或者错误信息之后,先解决第一个,然后看Perl是否依旧报出其他错误。因为后续的错误很可能是由于第一个错误衍生而来的。

检查错误信息行号之前的代码!

Perl在错误已经发生的时候才报错,而不是在此之前。因此当Perl报出行号时错误已经发生了,而出错的地方是在这之前。看看错误行号之前的代码和表达式是否有问题。

那个变量值是你想的那样吗?

不要乱猜!在表达式中使用某个值的时候先检查它是否正确。世界上最好的调试器就是print。

print STDERR "The value is [$value]\n";

我用括号括住$value的原因是因为这样我可以看见开头和尾巴上是否有空格或者换行。
如果打印出来的结果不是你所期望的,那么移到前面几句,再来!找到这个值最后正确的位置。

你用的函数是正确的吗?

我写perl程序的时间已经不短了,可我还是几乎每天都要查perlfunc。有些东西我就是吃不准,而有时候我太缺乏睡眠了以至于没了常识,然后总搞不懂为什么sprintf()不打印到屏幕上。

你用小脚本测试过了吗?

如果你在尝试新的东西,或者觉得某一小段代码很奇怪,你可以写一个最短的程序运行一下这一个片断。这个方法把所有其他的因素都排除在外。如果测试没有问题,那说明问题可能不在这段代码里面。如果测试结果不对,那你大概就找到了你的问题所在。

你检查环境了吗?

有些东西是依赖环境变量的。你确定你的环境变量都是对的吗?程序运行的时候用到的环境变量是你现在看到的环境变量吗?记住有些CGI程序或长时间运行的程序可能用到的环境变量和你在shell里看到的不一样,尤其是在不同的机器上的时候。

Perl讲环境变量存储在%ENV里。如果你需要某个环境变量,就算是在测试的时候,也记住先提供一个默认值,如果它原来不存在的话。

你试过Google了吗?

你碰到一个问题的时候,说不定其他人也碰到过同样的。用Google Groups(http://groups.google.com)搜索看看是不是有人在comp.lang.perl.misc上贴过什么。在新闻组里问问题的人和回答问题的人的差别在于,他们使用Google Groups的能力高底不同。

你和小熊说话了吗?

把你的问题大声说出来。把它变成语言。有几年我很愉快地和一个很优秀的程序员一起工作,他几乎能解决任何问题。当我被什么问题堵住的时候,我总去请教他,跟他解释我的问题。几乎每次都是这样的情况:我说不到第三句,就停下来,说:“噢我明白了,没问题了。”他每次也都是这样。

你可能需要做太多次这样的事情,所以我推荐拿一个长毛绒玩具做为你的Perl临床诊断家,这样你就不会惹怒你的同事了。我的桌子旁边就有一只小熊,我每次都把我的问题解释给他听。每次当我自言自语的时候,我女朋友跟本都不会注意,她习惯了。

你认真检查自己了吗?

如果到了这一步你还没有解决的话,这说不定是个心理问题。可能你对某段代码有特别的感情,所以不想改掉它。说不定你觉得只有你是对的,别人都错了。当你有这种感觉的时候,你没有认真考虑bug的最大来源——你自己。不要放过任何东西,保证它们全都是对的。

[ 本帖最后由 flw 于 2006-1-18 11:07 编辑 ]

论坛徽章:
0
发表于 2005-07-24 00:51 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

main(此帖,强烈建议,来此论坛的所有兄弟都看看)
{
浪费别人的时间就等于变相谋杀对方
}

论坛徽章:
0
发表于 2005-08-24 20:20 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

看过了。
不错!!!我也会尽是这么做的。

论坛徽章:
0
发表于 2005-09-16 23:29 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

支持斑竹,非常有道理。

论坛徽章:
0
发表于 2005-09-28 12:48 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

搭车说句话: 我们拒绝短信形式的提问!

有问题发在论坛上,我们不会,别人也可以解答;我们碰巧会的,别人也可以学习。从今以后,本人绝不回答短信里的技术问题!

论坛徽章:
0
发表于 2005-10-04 17:11 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

支持!

论坛徽章:
0
发表于 2005-10-23 12:12 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

我会努力的

论坛徽章:
0
发表于 2005-10-27 09:09 |显示全部楼层

【入版必读】如何尽可能高效地使用论坛+解决编程问题的五个方法

支持斑竹!!

论坛徽章:
0
发表于 2005-11-20 22:33 |显示全部楼层
谢谢班主给我的提醒。我想我们只要努力的学习,是一定能成功的!!!!
但是,我这个新手的进步,你们还要多的帮忙呀!!!~~~~

论坛徽章:
0
发表于 2005-11-29 22:41 |显示全部楼层
明白了,一定会努力学习,坚持好好发帖,尽量少废话、少灌水、少说些没用的,力争用3年或者更多的时间成为发帖高手,先祝xdjm们快乐!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP