1
NewYear OP 每个回复的都有赞,绝对不会浪费你的铜币!谢谢!
|
2
xmvagrant 2015-01-08 12:43:09 +08:00 1
你不觉得意外的就想到解决办法的时候让人欣喜若狂吗?
|
3
herozzm 2015-01-08 12:49:09 +08:00 1
看一个程序员的素质,高素质的大部分时间是在业务bug,而不是在程序bug
|
5
roys 2015-01-08 15:52:33 +08:00 1
一直想改掉这个毛病。每次有了一丁点想法就开始写。最后也只能调bug了。
|
6
msg7086 2015-01-08 16:09:03 +08:00 via iPhone 1
铜币倒是小事。一个能引起思考和给人带来帮助的主题就是好主题。
测试驱动开发!! |
7
spacewander 2015-01-08 16:17:59 +08:00 1
我觉得这就是人生……已经习惯了-_-
|
8
em70 2015-01-08 16:21:52 +08:00 1
这是基本功是否扎实的问题,没积累够1万个小时编程经验
|
9
NewYear OP @xmvagrant 想到一个无可奈何的问题居然有解决办法 当然是高兴的 但是更多的时候还是想着当时就解决了该多好啊!
@herozzm 嘿嘿,程序bug是因为经验不多或者自己不小心整出来的吧…… @pH 想不出解决办法的时候好忧伤的,只能慢慢想,慢慢想,完了自己还觉得,这玩意根本不可能实现嘛!完了过几天想到办法了,立马就推翻自己的说法了…… @roys 不管怎样,总是能去写代码,就很不错了,我就很懒,比如我坚持了快3个月做一件事情,每天都要盯着手动处理……时不时要去看看,最后终于觉得,还是花点时间写个自动化的出来吧……于是几个小时后,就拿着勉强可以用的用起来了,然后一发现有错的,可以改进的,就加进去……有错的就调整好,蛋疼,有的又获取不到样本,只有出问题的时候才能截取下来……不过这个过程还是挺有动力的,修修改改也半个月了。 浪费的时间真多啊,哈哈哈!不过以后可以自动化的丢那里无错运行,就很开心了。 @msg7086 我是先取一大堆样本来,然后分析处理的。应该也差不多吧。有的样本获取不到,只有出问题再处理。 @spacewander 只要没放弃修改就不错啦,要是自己都看不下去了,这样的人生要杯具了,哈哈哈! @em70 想了想,很有道理,想想自己以前用某种语言的时候,一开始也是常常写错,后来就少了。其实是自己不熟悉写法,老是容易忘记掉了。当然了,写错了debug信息又不提示的时候那叫一个蛋疼(有的提示信息把自己搞混了)。 |
10
046569 2015-01-08 17:33:04 +08:00 1
看了LZ的帖子,心有戚戚焉,曾几何时自己也是同样自己挖坑自己跳.
说说我的经验: 第一,找个更适合自己的语言.语法舒服,库比较完善,用起来省心. 第二,改变思想,比如忘记循环,改用迭代.不要假想太多例外,如果是会影响到运行结果,那么就 Fail-fast ;否则做个简单容错保证结果正确即可.@msg7086 提到的 TDD 是个好主意. 第三,调试的时候利用各种工具,能下断点就不打印日志.该懒的时候就应该懒. 第四,同一件事如果你重复做第二遍,你就应该考虑自动化了.理由同上. |
11
BGLL 2015-01-08 17:52:29 +08:00 1
写得多了,很多东西就能闭着眼睛也不会错了
|
12
BrownGoodMan 2015-01-08 18:21:54 +08:00 1
合格程序员如果写十几个ifelse在一起会先自行撞墙5分钟惩罚自己.
你写的太少,而且不规范.总之就是没经验... 建议先读几本7天学会c语言之类的书籍.不要乱写,找些大师的例子一边读一边理解一边模仿. 另外你能写程序肯定就是程序员了,它是能力定位又不是职业. |
13
pepsin 2015-01-08 18:42:48 +08:00 1
我的 bug 一般是自动补全带来的 Typo 哈哈哈
|
14
NewYear OP @046569 喜欢的语言真心找不到!我只希望有个多线程,能拖拉界面(虽然很喜欢web方面的语言,但是这方面的语言先天性对做应用程序支持不好)……其他语言要么太复杂了(比如说C吧,听说1-2年还不够入门的),要么用户要安装一个硕大的运行库……python似乎就很不错,还跨平台,不过画不出界面,太不合适我们这些非专业的了……以前最开始的就是vb相关的,就暂时用vb6了……vb6要是加个多线程就好了……咦,想来想去,好像就delphi靠近我所想的了,但是看着那语法……醉了。
我真心不是挑剔,好像delphi用的人比较少,就怕到时候找不到别人的轮子用……或许有误解的吧…… 我真心不是挑剔,只是想有个能拖拉界面的(简单嘛!),然后有个多线程的!(VB6木有),还有就是你说的,有各种库啊!有没有什么合适的推荐推荐呢!(这问题痛苦很久了,毕竟要重新学过,慎重啊) 你说的迭代我不懂唉,回头再研究研究= =!自己以前好像也查过……小循环我是满足条件就继续下去执行,大循环排版好容易出错,改用goto跳走的。(视情况而定,有的程序不会写任何一个goto) 我非调试一般不输出什么东西,出错就到差不多的位置去输出各种数据出来看看……然后研究对策,嘿嘿!其实一般执行到某处有问题的,进去看看代码差不多就能猜到哪里问题了。 虽然重复的事情应该做自动化,但是感觉写工具也是需要花费时间的啊……一想到各种调试,各种bug,各种死循环,哈哈哈哈!你懂的,就更懒了,如果有别人写好的如果合适的话一定用别人的!(一般没安全问题的工具),用得不喜欢就想想别人怎么实现的,偷懒,然后按照自己思路改进改进……会写一些程序就是好啊,用得不爽自己来! @BGLL 是的,不过有些语言真的这方面很有优势哎,比如说js,括号尖括号一点击,就显示另一个在哪里了。高下立判,再多的括号堆在一起,一个个点过去就很容易找到出问题的那个 @BrownGoodMan 你好,C语言听着就吓到了,听说挺难入门的,然后想到的就是代码量比较大(听到1-2年才入门,就不敢看不敢学了,可能也存在误解吧!),也看过别人写相同语言的代码吧,感觉有思路的话实现起来都是那样吧 = =。可能没看过所谓的高深的代码。对了,同语言看不懂的,一般是看不懂算法= =! 个人觉得如果不是常常要写那些强大的应用,应该没必要选择那么难的语言吧……或者有什么好语言推荐推荐么……就希望有各种库或者别人做好的可以挪来用呵呵,能拖拉窗口控件就最赞了,最后还天真的想要用户拿到的时候,不要去装个几十兆的运行库,对对对,多线程,有多线程就最赞了,没有的话将就用vb也还行……虽然……有点古老…… @pepsin 常用的话应该不会太多吧,不然太悲催了 |
16
046569 2015-01-08 21:37:49 +08:00 1
按照你的情况, Visual Basic 很符合你的需求.如果纠结于多线程,就用新版;可有可无,就用旧版,貌似旧版也是可以支持多线程的,只是略复杂.
Delphi 近些年确实用的人少了,但作为候选还是可以考虑的. 至于其它,了解了解设计模式,再想想你说的"也看过别人写相同语言的代码吧,感觉有思路的话实现起来都是那样吧"是否过于武断? 编程无它,唯手熟尔. |
17
NewYear OP @BGLL 可以这么说,我用notepad++,感觉这个高亮括号就很不错,其他的高亮关键字其他语言基本也是都有的,在其他的编辑器也看到这个高亮括号尖括号的,很赞,在一堆逻辑里面,好方便啊
@046569 是的,之所以一直用着,也是因为网页有asp(虽然不升级了,但是兼容性问题不存在),简单程序可以用vbs,应用程序可以用vb6,游戏/工作自动化有按键精灵,office一套又有宏。可以说还是挺不错的……当然不能和专业程序员比了,毕竟追求的层次不同……vb6不支持多线程,看多很多别人的案例,虽然实现了,但是局限挺大的(不能说很难用,而是要用上挺难的,最简单的就是vb6自己的控件不支持多线程,反正都是这么说,我也不太了解,也听说vb5有多线程,不稳定),用按键精灵的时候觉得多线程挺爽的。以后确实应该试试.net里的vb,虽然那的vb已经…… 好吧,设计模式什么的确实不懂,想起一个问题,上次用百度的umeditor asp版,发现上传文件(图片)功能上传不了,一查源码,它在创建文件的时候会判断文件夹是否存在,但是竟然是从根目录开始一层层探测,如果不存在就创建,windows的iis虚拟主机,一般会禁止其他目录的权限,自然就读取不到虚拟主机上层的文件夹了,探测不到就创建,必然也是不会成功的。于是就直接报500错误不干活了。(一个容错机制导致的错误) 不不不我没别的意大牛的产品应该很多人用的,这样的情形在虚拟主机上根本就传不了文件,其他人怎么用的呢(自己的开发机器上权限一般不会设置那么严格就没关系),不理解。加了个判断解决bug(属于虚拟主机下的目录路径不存在才尝试创建)。在查看源码的时候,也顺便上下翻了翻,同样是上传类,跟其他的无组件上传类其实差不多,所以当时就冒出一种“原来大牛也是这样写asp的啊,原来大牛也会考虑不周全啊” "也看过别人写相同语言的代码吧,感觉有思路的话实现起来都是那样吧",确实是有点武断,毕竟我用的这个语言吧,没有那些语言高级,想想.net里面的vb就有超级灵活的写法(记不起来那个案例了,反正就是一行里面用短而简洁的方式实现了vb6要好几行的的的的代码吧),不同的人写出来应该还是有所不同的,也有高效和低效的区别,当时有那种想法也是因为自己看着觉得是我的话也差不多这样写……但是太复杂的我肯定就费脑筋了,哈哈,我承认我菜。一些想法太想当然了。 |
18
sumhat 2015-01-09 00:50:09 +08:00
难道没有单元测试么,楼主描述的问题单元测试基本都可以搞定。
|
19
0okmnbvcxzx 2015-01-09 07:01:48 +08:00 via Android
我觉得VB.net/c#就蛮符合“只是想有个能拖拉界面的(简单嘛!),然后有个多线程的!(.net用着方便),还有就是你说的,有各种库啊!(.net库很强大)”的要求
.net现在也是很常用的环境了吧,实在要考虑的话好像有方法打包用户不需要安装framework就可以运行。 |
20
sampeng 2015-01-09 11:33:17 +08:00
80%时间思考,20%时间code。。
和语言无关,这条是真理。无论如何往这个方向努力。 程序bug就少了。 很多程序bug其实是设计问题。设计好了,程序bug就没啥了,业务bug,就是慢慢磨了,打发时间的东西 |
21
BrownGoodMan 2015-01-09 11:54:07 +08:00
@NewYear 不要看高深代码,就是一些大师写的应用广泛的开源代码.追求跨界最广容易学习好玩轻便漂亮所有优美形容词,首选JS.前端 混合前端 后端 游戏都有.软件前后端IDE首选 intellij idea.开发游戏首选unity.入门标配没得选,就这一家看着顺眼,只是mono拖了后腿. 如果追求拖控件就是visual studio.如果是osx 可以xcode拖.但这俩都要掌握一些丑陋的程序语言来开发功能... 如果不是工作需要,这些庞大的像猪一样的丑陋的语言和IDE很多人早都不想看到了.
|
22
saber000 2015-01-09 13:08:40 +08:00
我现在最悲剧的需求把架构给搞乱了,老是出现一些计划外的需求,其实也是和我的经验欠缺有关.
|