请资深职业程序员进来谈谈
--------------------编程问答-------------------- 不资深,不职业的飘过 --------------------编程问答-------------------- 刚接触VB!! --------------------编程问答-------------------- 如果rs是局部变量,一般就不必那么多防御了。 --------------------编程问答-------------------- 如果是全局或模块级的,也不能见到它还不是closed的,就简单地close掉。个人意见,如果程序逻辑清晰,是没有必要过度防御的。 --------------------编程问答-------------------- 通常,程序里90%的代码是处理非核心业务,或者说,异常处理。
这是我们吃饭的本钱,不然的话谁都可以写程序了。 --------------------编程问答-------------------- 那你的意思说,你已形成条件反射,要实现一个功能的时候必然会考虑到其他90%的非核心代码? --------------------编程问答-------------------- 充分的异常处理是必然的,但是也要根据需要来,也是有原则的。 --------------------编程问答-------------------- 俺是来学习的,对90%和10%也有体会~现在用控件还要考虑微软的升级补丁~~郁闷!!!近来对付KB960715对From2.0的影响。脑袋都涨了~~ --------------------编程问答-------------------- 我不资深,不过我的习惯是尽可能把想到的情况都加上,有时会加上断言 --------------------编程问答-------------------- 路过......
有时写代码,考虑得到的,就去整.....没考虑到的,或者不想考虑的....当然就不写了,哈哈. --------------------编程问答-------------------- 不资深的我飘过:
在验证功能能否实现的时候,我从来不去考虑。
在真正代码的时候,我会考虑所有可能的情况。 --------------------编程问答-------------------- 不资深及非职业的路过.数据库查询的边界检验还是必要的,或者加个错误处理代码.这样可防止程序不必要的崩溃. --------------------编程问答--------------------
上帝说的不错。 --------------------编程问答-------------------- 我不能保证我第一次写程序就能覆盖100%的边界情况,但是如果异常处理少于50%,通常我就知道我肯定漏了什么东西了。不少异常处理代码都是在单元测试或者QA或者投入使用后慢慢加的,没办法,人非圣贤。
我个人经验,凡是那些异常处理写得比较完整的人,都是比较好的程序员。就算某种边界条件不需要处理,也会说明为什么不处理,或者至少输出点东西到日志里,你不希望你的程序莫名其妙地出错,却没有一点头绪帮助查错吧? --------------------编程问答-------------------- 路过,我不是资深职业程序员,但我确实是左撇子。
写程序当然要先实现核心算法,在此基础上再填枝加叶,把能想到的异常都处理了,核心算法如果不对路,其它的只是笑谈。其实代码写得多了,基本的出错处理顺手就写出了,不用多想,尽管如此,也保证不了你的代码没有错误,有些错误只有测试了才暴漏出。
嘿嘿,我不资深,纯粹瞎说,让大家见笑了
--------------------编程问答-------------------- 不资深……
核心功能为先,条件检查随后逐步加入,最后如果有时间再想办法看下是否可以重构这种迭代式的代码。
有时熟悉的就顺便将"检查"加入了。 --------------------编程问答-------------------- 其实大家都说得很对,只是个人习惯的写法而已 --------------------编程问答-------------------- 当然是先写主要的,再调试,再加次要的,再调试;我们在开始写的时候不可能考虑那么全面(包括微软的程序员应该也是一样,要不WIN98怎么会打了三千多个补丁);所以你说的:先实现核心功能再说是对的.
--------------------编程问答-------------------- 既不资深,也不职业的来看热闹 --------------------编程问答-------------------- 如果是给用户用的系统,一定要按Leftie的方法去写,理由很简单,不进行必要的判断,程序可能出现异常中断的情况(比如那个贴子中如果是系统刚开始启用,Remain中没有数据,那系统将中断。难道比起和那么无知的用户解释为什么中断,比在程序中自己去判断还容易吗?) --------------------编程问答-------------------- 我习惯于把我能想到的所有可能出现的问题考虑进去,这纯粹是习惯,有时候甚至会写出几乎永远不会出现的一些可能情况,自己也注释一个msgbox说,此种问题应该不会出现1之类的,为什么会这样,就是因为一旦有特殊情况下,出现错误,也容易找到问题出现的位置。
另外,我估计lz还没有写过比较大型的程序,也就是代码超过10万行以上的程序,因为不考虑所有情况,就有可能出现莫名其妙错误,而让你无从下手。我就见到过一个写医院管理系统的人,在程序出现计算错误的时候,边看代码边挠头说:怎么可能出现这种错误呢,不会啊,怎么可能呢。。。。等等之类的话(搞了多少天也没明白到底为什么出现错误),我想就是特殊情况没有考虑。 --------------------编程问答-------------------- 我会尽量限定前提来减少判断分支,而不是加上各种“可能而实际不会发生”冗余分支。
见该帖15楼回复。 --------------------编程问答-------------------- 非资深程序员。
软件还是需要进行一些极限测试的... --------------------编程问答-------------------- csdn解答疑问的话,给个思路就好了,基本上不考虑边界情况
写代码的话是左手那样的写法,小习惯不同但是整体还是那个结构。个人觉得这个是流水线产品比较基本的规范了。
流水线产品不太可能展现个性的,毕竟代码的可读性,通用性,拓展性这些都考虑到的话,就很难体现程序员个性所在了。另外容错是程序员时刻要记住的一条规范,bug可以有,但是不要让系统崩溃,如果系统崩溃于客户眼前是一件很丢人的事情。
程序员的个性可能体现在解决问题的方法或者说是逻辑思维吧。在注释的写法上也会有些个人风格的言语和幽默
至于如何从核心功能拓展到考虑边缘临界状态每个人不同,每个人任务的需求也不同。但是无论如何交给客户是一个稳定的系统,给同伴的可读可接手的代码,给上司的是实现文档的其他相关文档。
然后大家就都很happy --------------------编程问答--------------------
LS的文章绝对精品!
--------------------编程问答--------------------
错!应该说clear_zero的软件作品绝对精品。 --------------------编程问答--------------------
我手底下过的代码算是产品,但精品算不上。我就是流水线工
出精品的是实验室里面的那些大牛,无限敬仰膜拜那些人 --------------------编程问答--------------------
经典 --------------------编程问答-------------------- 软件开发其实属于“Anything is possible”,如果所有分支都要考虑,就是“Mission Impossible”。
所有的需求分析、设计、接口定义等工作,其实就是进行各种前提限定的手段,这才使得用有限的资源实现一定的功能有了可能。
clear_zero 描述了软件过程,我给了代码实例,不冲突。 --------------------编程问答-------------------- 就别说做个优秀可亲快速的软件了,就“稳定没BUG”一条就难死个仍
这是这几天看ActiveX Control文档的感想,因为最终用户的行为防不胜防,要把很多情况都考虑到或者按照楼上的说法都限定到,也是超级难的。想想都头疼。看来没什么职业是绝对好玩的。 --------------------编程问答-------------------- 其实软件写大了,头就开始痛了.....
大家控制代码的能力达到什么等级?
我现在控制1W行左右的代码,就开始有点晕了....... --------------------编程问答-------------------- 我还从来没算过自己的代码有多少行。你在哪里看自己的代码行数的? --------------------编程问答-------------------- Add-in MZ-Tools 的工具条\Other Utilities\Statistics --------------------编程问答--------------------
第一次写个3万的时候有点晕.... --------------------编程问答-------------------- AC这不是气老马呢么:) --------------------编程问答--------------------
不是啊,是我写VB没多久,公司就让我写的那个项目。。。结果当然是晕啦 --------------------编程问答-------------------- 功夫不在代码中!
设计做得好,十万代码也不成问题;设计做得差,几千代码也够呛。 --------------------编程问答-------------------- 看来就我够呛,最长的才写了1000多行 --------------------编程问答-------------------- 另外,老马写1万和我写一万很不一样,他高级技术用的多,代码里的技术含量比我写的高很多。
API、HOOK、subclass等技术用多了,我还没写过太多,距离老马的一万应该还是有段距离的。 --------------------编程问答-------------------- 恩恩。胆小的AC,立马给吓回去鸟,呵呵。 --------------------编程问答--------------------
--------------------编程问答-------------------- 刚学msdn2001,在这里只能说是个搞硬件的,一两年编一次vb,还是用于控制。
小体会如下:
1.我喜欢自低向上的编。先把和硬件发生关系的程序模块调通,再做楼上说的其他90%的杂活儿。
2.程序大了,还真得考虑一段时间再下手。
3.有些还要搜些素材,别人编好的程序看一下。例如:dde和winsock 我是先在网上下个好例子试通了,再加上自己 的东西。真所谓:“天下文章一大抄,就看你会抄不会抄”。
4.搞硬件的还简单点,硬件、软件的搭配自己说了算。
5.搞管理软件的最痛苦之处,在于你要去了解客户的使用环境和资料。有些是你不感兴趣的内容。你要在短期内去了解比客户知道的还要多的内容,才有可能完成客户的需求。所以我是干不了这个!
6.建立自己的程序库,需要的时候贴进来。
7.自己搞不懂的,有时msdn也没说明白,到csdn\vb请教 --------------------编程问答-------------------- 才发现楼上好些朋友(有的还不太熟)都回得很精彩。谢谢分享,衷心的。 --------------------编程问答--------------------
我也喜欢这个 --------------------编程问答-------------------- 代码的复杂度与代码行数没有直接关系。
----------------------------------
(1)把代码写的越简单越好!
(2)写代码就像盖房子,图纸(构架)要画好! --------------------编程问答-------------------- 最担心 客户需求不明确,或者需求变来变去!!
为了防止后患,刚开始时一定要考虑全面。免得....... --------------------编程问答-------------------- #39楼 够用就行!!!不一定技术含量高的就是最好的。
送一句经典:控制马桶没有必要用DSP,机械按钮是最保险的。
具体要看想搞定的对象,够用就好,所以没学C++!
简单最重要!!!
补充:VB , 非技术类