当前位置:编程学习 > VB >>

请资深职业程序员进来谈谈

--------------------编程问答-------------------- 不资深,不职业的飘过 --------------------编程问答-------------------- 刚接触VB!! --------------------编程问答-------------------- 如果rs是局部变量,一般就不必那么多防御了。 --------------------编程问答-------------------- 如果是全局或模块级的,也不能见到它还不是closed的,就简单地close掉。
个人意见,如果程序逻辑清晰,是没有必要过度防御的。 --------------------编程问答-------------------- 通常,程序里90%的代码是处理非核心业务,或者说,异常处理。

这是我们吃饭的本钱,不然的话谁都可以写程序了。 --------------------编程问答-------------------- 那你的意思说,你已形成条件反射,要实现一个功能的时候必然会考虑到其他90%的非核心代码? --------------------编程问答-------------------- 充分的异常处理是必然的,但是也要根据需要来,也是有原则的。 --------------------编程问答-------------------- 俺是来学习的,对90%和10%也有体会~现在用控件还要考虑微软的升级补丁~~郁闷!!!近来对付KB960715对From2.0的影响。脑袋都涨了~~ --------------------编程问答-------------------- 我不资深,不过我的习惯是尽可能把想到的情况都加上,有时会加上断言 --------------------编程问答-------------------- 路过......

有时写代码,考虑得到的,就去整.....没考虑到的,或者不想考虑的....当然就不写了,哈哈. --------------------编程问答-------------------- 不资深的我飘过:
在验证功能能否实现的时候,我从来不去考虑。
在真正代码的时候,我会考虑所有可能的情况。 --------------------编程问答-------------------- 不资深及非职业的路过.数据库查询的边界检验还是必要的,或者加个错误处理代码.这样可防止程序不必要的崩溃. --------------------编程问答--------------------
引用 11 楼 bestbadgod 的回复:
不资深的我飘过:
在验证功能能否实现的时候,我从来不去考虑。
在真正代码的时候,我会考虑所有可能的情况。


上帝说的不错。 --------------------编程问答-------------------- 我不能保证我第一次写程序就能覆盖100%的边界情况,但是如果异常处理少于50%,通常我就知道我肯定漏了什么东西了。不少异常处理代码都是在单元测试或者QA或者投入使用后慢慢加的,没办法,人非圣贤。

我个人经验,凡是那些异常处理写得比较完整的人,都是比较好的程序员。就算某种边界条件不需要处理,也会说明为什么不处理,或者至少输出点东西到日志里,你不希望你的程序莫名其妙地出错,却没有一点头绪帮助查错吧? --------------------编程问答--------------------  路过,我不是资深职业程序员,但我确实是左撇子。
写程序当然要先实现核心算法,在此基础上再填枝加叶,把能想到的异常都处理了,核心算法如果不对路,其它的只是笑谈。其实代码写得多了,基本的出错处理顺手就写出了,不用多想,尽管如此,也保证不了你的代码没有错误,有些错误只有测试了才暴漏出。
嘿嘿,我不资深,纯粹瞎说,让大家见笑了
--------------------编程问答-------------------- 不资深……
核心功能为先,条件检查随后逐步加入,最后如果有时间再想办法看下是否可以重构这种迭代式的代码。

有时熟悉的就顺便将"检查"加入了。 --------------------编程问答-------------------- 其实大家都说得很对,只是个人习惯的写法而已 --------------------编程问答-------------------- 当然是先写主要的,再调试,再加次要的,再调试;我们在开始写的时候不可能考虑那么全面(包括微软的程序员应该也是一样,要不WIN98怎么会打了三千多个补丁);所以你说的:先实现核心功能再说是对的. 
--------------------编程问答-------------------- 既不资深,也不职业的来看热闹 --------------------编程问答-------------------- 如果是给用户用的系统,一定要按Leftie的方法去写,理由很简单,不进行必要的判断,程序可能出现异常中断的情况(比如那个贴子中如果是系统刚开始启用,Remain中没有数据,那系统将中断。难道比起和那么无知的用户解释为什么中断,比在程序中自己去判断还容易吗?) --------------------编程问答-------------------- 我习惯于把我能想到的所有可能出现的问题考虑进去,这纯粹是习惯,有时候甚至会写出几乎永远不会出现的一些可能情况,自己也注释一个msgbox说,此种问题应该不会出现1之类的,为什么会这样,就是因为一旦有特殊情况下,出现错误,也容易找到问题出现的位置。

另外,我估计lz还没有写过比较大型的程序,也就是代码超过10万行以上的程序,因为不考虑所有情况,就有可能出现莫名其妙错误,而让你无从下手。我就见到过一个写医院管理系统的人,在程序出现计算错误的时候,边看代码边挠头说:怎么可能出现这种错误呢,不会啊,怎么可能呢。。。。等等之类的话(搞了多少天也没明白到底为什么出现错误),我想就是特殊情况没有考虑。 --------------------编程问答-------------------- 我会尽量限定前提来减少判断分支,而不是加上各种“可能而实际不会发生”冗余分支。
见该帖15楼回复。 --------------------编程问答-------------------- 非资深程序员。
软件还是需要进行一些极限测试的... --------------------编程问答-------------------- csdn解答疑问的话,给个思路就好了,基本上不考虑边界情况

写代码的话是左手那样的写法,小习惯不同但是整体还是那个结构。个人觉得这个是流水线产品比较基本的规范了。
流水线产品不太可能展现个性的,毕竟代码的可读性,通用性,拓展性这些都考虑到的话,就很难体现程序员个性所在了。另外容错是程序员时刻要记住的一条规范,bug可以有,但是不要让系统崩溃,如果系统崩溃于客户眼前是一件很丢人的事情。
程序员的个性可能体现在解决问题的方法或者说是逻辑思维吧。在注释的写法上也会有些个人风格的言语和幽默

至于如何从核心功能拓展到考虑边缘临界状态每个人不同,每个人任务的需求也不同。但是无论如何交给客户是一个稳定的系统,给同伴的可读可接手的代码,给上司的是实现文档的其他相关文档。
然后大家就都很happy --------------------编程问答--------------------
引用 24 楼 clear_zero 的回复:
csdn解答疑问的话,给个思路就好了,基本上不考虑边界情况

写代码的话是左手那样的写法,小习惯不同但是整体还是那个结构。个人觉得这个是流水线产品比较基本的规范了。
流水线产品不太可能展现个性的,毕竟代码的可读性,通用性,拓展性这些都考虑到的话,就很难体现程序员个性所在了。另外容错是程序员时刻要记住的一条规范,bug可以有,但是不要让系统崩溃,如果系统崩溃于客户眼前是一件很丢人的事情。
程序员的个性可能体现在解决问题的方法或者说是逻辑思维吧。在注释的写法上也会有些个人风格的言语和幽默

至于如何从核心功能拓展到考虑边缘临界状态每个人不同,每个人任务的需求也不同。但是无论如何交给客户是一个稳定的系统,给同伴的可读可接手的代码,给上司的是实现文档的其他相关文档。
然后大家就都很happy

LS的文章绝对精品!
--------------------编程问答--------------------
引用 25 楼 zdingyun 的回复:
引用 24 楼 clear_zero 的回复:
csdn解答疑问的话,给个思路就好了,基本上不考虑边界情况

写代码的话是左手那样的写法,小习惯不同但是整体还是那个结构。个人觉得这个是流水线产品比较基本的规范了。
流水线产品不太可能展现个性的,毕竟代码的可读性,通用性,拓展性这些都考虑到的话,就很难体现程序员个性所在了。另外容错是程序员时刻要记住的一条规范,bug可以有,但是不要让系统崩溃,如果系统崩溃于客户眼前是一件很丢人的事情。
程序员的个性可能体现在解决问题的方法或者说是逻辑思维吧。在注释的写法上也会有些个人风格的言语和幽默

至于如何从核心功能拓展到考虑边缘临界状态每个人不同,每个人任务的需求也不同。但是无论如何交给客户是一个稳定的系统,给同伴的可读可接手的代码,给上司的是实现文档的其他相关文档。
然后大家就都很happy

LS的文章绝对精品!


错!应该说clear_zero的软件作品绝对精品。 --------------------编程问答--------------------
引用 26 楼 slowgrace 的回复:
引用 25 楼 zdingyun 的回复:
 引用 24 楼 clear_zero 的回复:
 csdn解答疑问的话,给个思路就好了,基本上不考虑边界情况

 写代码的话是左手那样的写法,小习惯不同但是整体还是那个结构。个人觉得这个是流水线产品比较基本的规范了。
 流水线产品不太可能展现个性的,毕竟代码的可读性,通用性,拓展性这些都考虑到的话,就很难体现程序员个性所在了。另外容错是程序员时刻要记住的一条规范,bug可以有,但是不要让系统崩溃,如果系统崩溃于客户眼前是一件很丢人的事情。
 程序员的个性可能体现在解决问题的方法或者说是逻辑思维吧。在注释的写法上也会有些个人风格的言语和幽默

 至于如何从核心功能拓展到考虑边缘临界状态每个人不同,每个人任务的需求也不同。但是无论如何交给客户是一个稳定的系统,给同伴的可读可接手的代码,给上司的是实现文档的其他相关文档。
 然后大家就都很happy

 LS的文章绝对精品!



 错!应该说clear_zero的软件作品绝对精品。

我手底下过的代码算是产品,但精品算不上。我就是流水线工
出精品的是实验室里面的那些大牛,无限敬仰膜拜那些人 --------------------编程问答--------------------
引用 24 楼 clear_zero 的回复:
csdn解答疑问的话,给个思路就好了,基本上不考虑边界情况

写代码的话是左手那样的写法,小习惯不同但是整体还是那个结构。个人觉得这个是流水线产品比较基本的规范了。
流水线产品不太可能展现个性的,毕竟代码的可读性,通用性,拓展性这些都考虑到的话,就很难体现程序员个性所在了。另外容错是程序员时刻要记住的一条规范,bug可以有,但是不要让系统崩溃,如果系统崩溃于客户眼前是一件很丢人的事情。
程序员的个性可能体现在解决问题的方法或者说是逻辑思维吧。在注释的写法上也会有些个人风格的言语和幽默

至于如何从核心功能拓展到考虑边缘临界状态每个人不同,每个人任务的需求也不同。但是无论如何交给客户是一个稳定的系统,给同伴的可读可接手的代码,给上司的是实现文档的其他相关文档。
然后大家就都很happy

经典 --------------------编程问答-------------------- 软件开发其实属于“Anything is possible”,如果所有分支都要考虑,就是“Mission Impossible”。
所有的需求分析、设计、接口定义等工作,其实就是进行各种前提限定的手段,这才使得用有限的资源实现一定的功能有了可能。
clear_zero 描述了软件过程,我给了代码实例,不冲突。 --------------------编程问答-------------------- 就别说做个优秀可亲快速的软件了,就“稳定没BUG”一条就难死个仍

这是这几天看ActiveX Control文档的感想,因为最终用户的行为防不胜防,要把很多情况都考虑到或者按照楼上的说法都限定到,也是超级难的。想想都头疼。看来没什么职业是绝对好玩的。 --------------------编程问答-------------------- 其实软件写大了,头就开始痛了.....

大家控制代码的能力达到什么等级?

我现在控制1W行左右的代码,就开始有点晕了....... --------------------编程问答-------------------- 我还从来没算过自己的代码有多少行。你在哪里看自己的代码行数的? --------------------编程问答-------------------- Add-in MZ-Tools 的工具条\Other Utilities\Statistics --------------------编程问答--------------------
引用 31 楼 myjian 的回复:
其实软件写大了,头就开始痛了.....

大家控制代码的能力达到什么等级?

我现在控制1W行左右的代码,就开始有点晕了.......

第一次写个3万的时候有点晕.... --------------------编程问答-------------------- AC这不是气老马呢么:) --------------------编程问答--------------------
引用 35 楼 slowgrace 的回复:
AC这不是气老马呢么:)

不是啊,是我写VB没多久,公司就让我写的那个项目。。。结果当然是晕啦 --------------------编程问答-------------------- 功夫不在代码中!
设计做得好,十万代码也不成问题;设计做得差,几千代码也够呛。 --------------------编程问答-------------------- 看来就我够呛,最长的才写了1000多行 --------------------编程问答-------------------- 另外,老马写1万和我写一万很不一样,他高级技术用的多,代码里的技术含量比我写的高很多。

API、HOOK、subclass等技术用多了,我还没写过太多,距离老马的一万应该还是有段距离的。 --------------------编程问答-------------------- 恩恩。胆小的AC,立马给吓回去鸟,呵呵。 --------------------编程问答--------------------
引用 40 楼 slowgrace 的回复:
恩恩。胆小的AC,立马给吓回去鸟,呵呵。

--------------------编程问答-------------------- 刚学msdn2001,在这里只能说是个搞硬件的,一两年编一次vb,还是用于控制。
小体会如下:
1.我喜欢自低向上的编。先把和硬件发生关系的程序模块调通,再做楼上说的其他90%的杂活儿。
2.程序大了,还真得考虑一段时间再下手。
3.有些还要搜些素材,别人编好的程序看一下。例如:dde和winsock  我是先在网上下个好例子试通了,再加上自己 的东西。真所谓:“天下文章一大抄,就看你会抄不会抄”。
4.搞硬件的还简单点,硬件、软件的搭配自己说了算。
5.搞管理软件的最痛苦之处,在于你要去了解客户的使用环境和资料。有些是你不感兴趣的内容。你要在短期内去了解比客户知道的还要多的内容,才有可能完成客户的需求。所以我是干不了这个!
6.建立自己的程序库,需要的时候贴进来。
7.自己搞不懂的,有时msdn也没说明白,到csdn\vb请教 --------------------编程问答-------------------- 才发现楼上好些朋友(有的还不太熟)都回得很精彩。谢谢分享,衷心的。 --------------------编程问答--------------------
引用 33 楼 tiger_zhao 的回复:
Add-in MZ-Tools 的工具条\Other Utilities\Statistics


我也喜欢这个 --------------------编程问答-------------------- 代码的复杂度与代码行数没有直接关系。


----------------------------------

(1)把代码写的越简单越好!

(2)写代码就像盖房子,图纸(构架)要画好! --------------------编程问答-------------------- 最担心 客户需求不明确,或者需求变来变去!!

为了防止后患,刚开始时一定要考虑全面。免得....... --------------------编程问答-------------------- #39楼 够用就行!!!不一定技术含量高的就是最好的。

送一句经典:控制马桶没有必要用DSP,机械按钮是最保险的。

具体要看想搞定的对象,够用就好,所以没学C++!

简单最重要!!!
补充:VB ,  非技术类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,