CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  扩充话题 >  程序人生

程序老菜鸟的感悟

楼主mazhahn()2006-10-28 08:48:24 在 扩充话题 / 程序人生 提问

我大学是学机械的,出于爱好,现在做程序员。  
  现在已经有了三年的工作经验了,一直在作嵌入式方面的程序,而且是底层的软件。曾经独立完成过嵌入式方面的大型程序,现在在作嵌入式驱动程序。  
  在编程序的时候,对于程序的结构的驾驭,总是凭着自己脑袋里面的“经验逻辑”进行组织。即便是这样,也能完成很多创新性质的程序结构,比如在他人的程序结构上,为了增加某个新的功能,对原有的程序结构进行重新设计,只是使用原有程序的接口,完全设计一个新的程序结构,而且这个新的程序结构和原有的程序结构能够很好的一起工作。  
  现在仔细想想,如果给我一个机器的设计图纸,或者是一栋房屋的结构图纸,我凭着大学里学过的力学知识,马上就能感觉到这个机器或者是房屋设计的不合理之处,并且找出修正的办法,这是一种直觉性质的东西;但是面对自己写过的程序,当发现一个bug的时候,特别是这个bug有关程序的结构问题的时候,总是没有一种类似“力学公式”能够指导我进行这种程序结构的改动,只是一味的进行“脑袋风暴”式的搜索:  
  ◎眼睛盯着电脑屏幕,脑袋却是不转圈的,(还好,现在还能感觉到自己的脑袋没有转圈,好像是一个肉块,没有了智能,难道是用脑过度?)。  
  ◎或者脑袋中如闪电一般,跃过一个念头,但是仔细想想又有很多欠缺之处。甚至有很多想起来很荒唐的想法。  
   
  想问问大家,这种现象是不是因为我没有学过《软件工程》的课程造成的,至少到现在,我还是没有系统学习过《软件工程》的东西。  
  如果不是软件工程,又有那些书可以参考?或者没有现成的书籍可以参考,这种阶段只是程序员向系统分析员过渡的一个必经之路?  
  谢谢! 问题点数:100、回复次数:74Top

1 楼i_love_pc(杰子)(欢迎加入技术交流QQ群:23640432)回复于 2006-10-28 09:03:08 得分 2

同样郁闷的菜鸟,期待飞翔.Top

2 楼Cwfly(〖♂金鱼♀〗〖珍惜生命,远离IT〗〖IT有害健康〗)回复于 2006-10-28 09:11:16 得分 1

同样郁闷的菜鸟,期待飞翔.  
  Top

3 楼leo2003(【健者天行】谁伴我闯荡)回复于 2006-10-28 09:20:50 得分 1

菜鸟   too  
   
   
  《软件工程》跟这个没多大关系,  
  要说有关系可能算《离散数学》了  
   
  Top

4 楼wanglovec(阳光飞舞)回复于 2006-10-28 09:23:30 得分 2

帮顶   ,个人以为如果你的程序是用面向对象   的     那么看看   <设计模式>   <多范型设计>   <软件工程>   应该比较好   .至少可以让你知道什么是良好的程序设计   .  
   
  偶感觉程序   很重要的一点是   高内聚   低偶合.    
   
   
  欢迎楼下的   拍砖Top

5 楼xxzx6(烟雨(一蓑烟雨任平生))回复于 2006-10-28 09:25:18 得分 1

不是程序员的菜鸟,帮顶Top

6 楼豆腐()回复于 2006-10-30 08:42:33 得分 1

从写第一行汇编代码开始,到现在6年整,不敢说自己是一个老鸟....离开了网络和MSDN,过个3天,vc的IDE都不会用.....Top

7 楼min_1982(我顶我顶我顶顶顶)回复于 2006-10-30 09:19:35 得分 1

同感同感Top

8 楼min_1982(我顶我顶我顶顶顶)回复于 2006-10-30 09:20:19 得分 1

一天不写代码就陌生Top

9 楼xiao_p(kkk)回复于 2006-10-30 09:48:26 得分 1

是缺少逻辑思维的能力吧  
   
  Top

10 楼elite01(极度)回复于 2006-10-30 09:50:52 得分 1

噢可Top

11 楼likelynn(社會主義初級階段)回复于 2006-10-30 10:37:28 得分 1

先要做熟手,然后才是能手Top

12 楼yufenfeila(雨纷飞啦)回复于 2006-10-30 10:56:28 得分 1

写软件是一种创作的过程,就如同画油画一样  
  软件工程能解决一部分问题,但仍不能让我们像解物理题一样地写软件Top

13 楼pengjd(悲酥清风之冰霜之刃)回复于 2006-10-30 11:07:43 得分 1

周末休息了两天,现在还没回到工作状态,打开程序几乎一行还没写,都11点多了...Top

14 楼LoveCJ(周杰伦就是一sb)回复于 2006-10-30 11:53:13 得分 1

jfTop

15 楼oolongTea(顶者)回复于 2006-10-30 12:14:29 得分 1

有内因有外因  
  内因是  
  外因是  
  ……  
  好困Top

16 楼dashi(喜欢莲的憨木鱼)回复于 2006-10-30 12:16:21 得分 1

帮顶   ,个人以为如果你的程序是用面向对象   的     那么看看   <设计模式>   <多范型设计>   <软件工程>   应该比较好   .至少可以让你知道什么是良好的程序设计   . 偶感觉程序   很重要的一点是   高内聚   低偶合.   欢迎楼下的   拍砖 Top

17 楼shore1000(shore1000)回复于 2006-10-30 12:21:07 得分 1

大师还会说话,我以为是你做了灌水机呢!~Top

18 楼jian74566(风吹)回复于 2006-10-30 12:33:32 得分 1

有理Top

19 楼zzxing()回复于 2006-10-30 12:36:39 得分 1

楼上都有理Top

20 楼breakind(冰舞,把练街舞的精神拿来编程,必有所成.)回复于 2006-10-30 12:38:22 得分 1

JFTop

21 楼fengge8ylf(秀视工作室,承接P2P项目)回复于 2006-10-30 12:44:54 得分 1

U  
  PTop

22 楼linchunfu(林雨)回复于 2006-10-30 13:10:06 得分 1

和你背景相同,刚入行,努力中,期待飞翔。Top

23 楼FlowerJunjie(窃已啖之矣)回复于 2006-10-30 13:14:22 得分 1

有理  
  Top

24 楼rock1124(带着上帝和女涡逛街)回复于 2006-10-30 13:32:17 得分 1

同意..有同感!!Top

25 楼huangruiye()回复于 2006-10-30 13:58:34 得分 1

我感觉和我写作文走象棋的时候差不多,行之不行。Top

26 楼kimichen355()回复于 2006-10-30 14:05:45 得分 1

要想有所突破,还是要多做些项目,积累经验,这是我的看法Top

27 楼marydan(如果我无法控制方向,至少还可以选择迷路。)回复于 2006-10-30 14:10:35 得分 1

帮顶.  
  Top

28 楼dfkoko(xiaoyin)回复于 2006-10-30 14:21:20 得分 1

借用。  
   
  要想有所突破,还是要多做些项目,积累经验,这是我的看法  
  Top

29 楼realside(最大的梦想,开启世界的API)回复于 2006-10-30 14:22:29 得分 1

偶觉得软件工程同万有引力和相对论也有强烈地关系!Top

30 楼ringphone(临风)回复于 2006-10-30 14:38:48 得分 1

这要看是什么BUG,如果是细节上的或是手误等一些“愚蠢”的BUG,比如if(x=1)之类,这跟软件工程什么的没什么关系。  
  如果这个BUG跟程序结构有关,跟软件工程有一定关系,但软件工程并不能象力学公式那样给你那样大的帮助,因为软件工程只是给你指出一个大的方向,告诉你程序应该怎么设计才能合理,减少设计上的缺陷,但是很多情况下,BUG可能是设计时考虑不周或是有新的功能要加入产生的,比如没有预留接口,导致增加一个功能要牵涉到大部分的代码改动,或是编写某一功能模块时欠考虑一种情况,进而影响其他部分。设计时提出该模块应该完成哪些功能,但到编码时就有可能漏掉处理某一异常情况。这跟逻辑思维有关系,就象指挥一场战役,大将指挥若定,庸手则手忙脚乱,错漏百出,软件工程教你怎样调兵遣将,诸葛亮未见而知之,周瑜见而知之,曹操过而知之,其中差别就因人而异了,就看逻辑思维的缜密,这时候经验是最重要的了。Top

31 楼zhang87224088()回复于 2006-10-30 14:39:00 得分 5

看到此贴是缘分  
   
  国内首创!你看新闻我付费!0投资,也赚钱  
  http://hi.baidu.com/zhang87224088Top

32 楼ZW_Ren(任再旺)回复于 2006-10-30 14:42:58 得分 1

呵,我也是机械专业毕业的,现在刚毕业一年多,做的是软件外包。  
  感觉自己在计算机理论基础方面有些薄弱,真希望能学好数学和算法等等。  
  Top

33 楼flyccloud(飞云)回复于 2006-10-30 14:46:31 得分 1

如果是面向对象开发,  
   
  程序结构的改动可以看一下重构。  
  Pattern   和重构一类的东东都是从Java出来的技术,但是对我们C++程序员来说,学一下也很是受益非浅。Top

34 楼BenKelly(勤鸟)回复于 2006-10-30 15:23:14 得分 5

首先,我觉得你做程序员时间还不是很长,现在的状态也比较正常。  
  另外,你所作的嵌入式开发可能要求更高,周期更长。所以有现在的感觉比较正常,我现在做程序员4年多了,这些天非常想重新看看数据结构,因为我觉得编的久了有很多基础的东西才觉得更重要。希望能够共同进步。慢慢加油啊!  
   
  如果喜欢java语言,可以来   http://www.javalife.cnTop

35 楼HugeJB(她说我的好大)回复于 2006-10-30 15:41:07 得分 1

你一定没系统看过《金瓶梅》吧!Top

36 楼huayufei(清风杨)回复于 2006-10-30 15:56:09 得分 1

掌心天下Top

37 楼zzyong00(阿勇)回复于 2006-10-30 16:07:09 得分 1

To:HugeJB(她说我的好大)  
  这和《金瓶梅》有关系吗?还请赐教Top

38 楼wanyeye(助人者天助)回复于 2006-10-30 16:42:45 得分 1

其实嘛   有些东西是余生具来的  
   
  当然后天努力也很重要  
   
  Top

39 楼daixf_csdn(圣殿骑士【CNO】)回复于 2006-10-30 16:50:05 得分 1

UP,接分Top

40 楼Focus(西门大灌人)回复于 2006-10-30 17:20:00 得分 1

晕死  
  怪不得现在程序员的价钱上不去了  
  这么多非专业的都进来了  
  THRESHOLD实在是太低了。。。Top

41 楼zctom23(I love this language)回复于 2006-10-30 17:28:08 得分 1

markTop

42 楼daiguan()回复于 2006-10-30 18:31:17 得分 1

我觉得和军事指挥差不多吧,有方向没方法,搞不好还成了赵括Top

43 楼alextooter(好久没人爱)回复于 2006-10-30 18:45:07 得分 1

起码学习一下结构化编程的思想,看点七八十年代的ACM通讯。  
  对整体有了把握之后,改起bug来才会得心应手。Top

44 楼waitrabbit(炭炭)回复于 2006-10-30 21:15:51 得分 1

 
  给lz开2方药:《数据结构》、《设计模式》Top

45 楼Ninstein(www.Ninstein.Com)回复于 2006-10-30 21:32:55 得分 1

"诸葛亮未见而知之,周瑜见而知之,曹操过而知之,其中差别就因人而异了,就看逻辑思维的缜密,这时候经验是最重要的了。"  
  经典~~~~~~`````````````````````````````````Top

46 楼flasherfffff()回复于 2006-10-30 23:30:26 得分 4

回复那个说面向对象的  
  请问嵌入式开发有面向对象的吗?除java之外  
  不要误导别人哦Top

47 楼Joyfish(昏昏)回复于 2006-10-30 23:56:42 得分 1

既然搂住对机械这么有感觉,真不应该转行,机械这几年热起来的,还是很有前途的Top

48 楼ttjacky(豆豆糖)回复于 2006-10-31 00:32:59 得分 1

我感觉这个应该是你太拘泥于具体的代码细节了,跳出函数的实现,站在整个程序的设计者角度去构思程序的框架,骨骼,应该能有所突破。同时再加强一些OO方面的理论知识,道理都是相通的Top

49 楼xingyafei(AB血型的公老鼠)回复于 2006-10-31 00:50:46 得分 1

我觉得多看一些大师的书还是好,也许能打破自己的思维定式。Top

50 楼nuanxinren(暖心刃)回复于 2006-10-31 08:15:28 得分 1

我曾经也迷茫!   在校的时候怎么也搞不懂什么是编程!无奈之下,毕业后做了营销,但一直都不算太好.  
  之前的我特喜欢写文章,到还有点文采.  
  有那么一天,我突然的把我的知识和我写文章的经验联系起来,顿时眼前一亮,豁然开朗.  
  写程序不就是写文章吗?  
  先写大纲,确定中心思想,确定主要流程.然后注意细节变化,注意枝节末梢.  
  至于一些局部的函数或者算法处理,我也曾经钻牛角尖,多方面想问题发生的可能性,等我解决以后往往发现,不过一个简单的数学公式.所以数学一定要精.  
  多观察现实事物的规律,常常和编程同理.  
  个人概括一句话:计算机是什么.计算机是人类在日常行为中的系统认识上,以物理方法实现的数学思考.  
  Top

51 楼lin_now(林)回复于 2006-10-31 09:54:19 得分 4

听大家的说话有种感觉,菜非菜,鸟非鸟。本人是名副其实的老菜鸟,我是从实施做起来的,做开发也有2年经验了,没有自己开发过整套系统,只是在原来系统上修修改改,由于做实施业务非常熟悉,所以开发起来,真是“无所不用其及”,连公司部分我个人觉得是老鸟也对我寡目想看。我担心我接一下该学些什么。离散没好好学,软件工程更是当小说一看便过。。。。  
      出路在何方???Top

52 楼ncgaofeng(高峰)回复于 2006-10-31 10:05:26 得分 1

◎眼睛盯着电脑屏幕,脑袋却是不转圈的,(还好,现在还能感觉到自己的脑袋没有转圈,好像是一个肉块,没有了智能,难道是用脑过度?)。  
  ◎或者脑袋中如闪电一般,跃过一个念头,但是仔细想想又有很多欠缺之处。甚至有很多想起来很荒唐的想法。  
   
  同感!同感!同感!同感!同感!Top

53 楼LoveCJ(周杰伦就是一sb)回复于 2006-10-31 10:06:38 得分 2

jfTop

54 楼qlsc_cainiao()回复于 2006-10-31 10:22:00 得分 1

你做的是嵌入式方面的,应该用c/汇编用的比较多.我感觉应该系统的学一下操作系统,这样可那个对你的开发有好处.Top

55 楼lwy8802(Victim)回复于 2006-10-31 10:33:01 得分 1

我只知道基础还不够扎实``Top

56 楼edutl(老鲁)回复于 2006-10-31 11:04:28 得分 1

诸葛亮未见而知之,周瑜见而知之,曹操过而知之  
   
  经典Top

57 楼LinZhongBao(【豹哥】)回复于 2006-10-31 11:41:57 得分 1

oooTop

58 楼rootkitkernel()回复于 2006-10-31 13:04:09 得分 1

“OK”,我建议你看《设计模式》,现在看正是时候,不论你是使用结构化程序语言还是面向对象,你会受益匪浅,如果感觉难,google一下其它相关资料。  
  rootkitkernel@163.comTop

59 楼lovewormcn()回复于 2006-10-31 13:09:05 得分 1

写程序不过是个手段,用来表达你脑子里的思想,只有你理解了你要写的对象,才能达到随心所欲的地步  
  《数据结构》和《设计模式》是帮助你把脑子里的思想转换为比较严密的形式,这两个东西就好像围棋里的定式一样,好手不一定都是定式的。Top

60 楼Mi_Bo(长弓落日)回复于 2006-10-31 15:49:04 得分 1

调bug其实也不难,一看水平,二要注意技巧。其实无非就是设断点,跟变量等等了。水平高点可以跟到汇编级的代码,就不信找不出问题来   :-)Top

61 楼uuuuuuuuuu(当AK遇到M4)回复于 2006-10-31 17:42:32 得分 1

 
  同样郁闷的菜鸟,期待飞翔.Top

62 楼Haliput(I.T. 一族)回复于 2006-10-31 18:20:05 得分 1

偶也想飞啊。。。。Top

63 楼xuwei(夕阳西下,断肠人在天涯)回复于 2006-10-31 20:31:48 得分 1

◎眼睛盯着电脑屏幕,脑袋却是不转圈的,(还好,现在还能感觉到自己的脑袋没有转圈,好像是一个肉块,没有了智能,难道是用脑过度?)。  
  ◎或者脑袋中如闪电一般,跃过一个念头,但是仔细想想又有很多欠缺之处。甚至有很多想起来很荒唐的想法。  
   
  --------------------------------------------------------------------------------  
   
  确实是这样,偶的几个作品都是“改”出来的,  
  根本没有什么分析,设计,都是一边写代码,一边思考设计!Top

64 楼fanglu(无方路 fineroute@163.com)回复于 2006-10-31 20:48:03 得分 4

得即是失,失即是得。Top

65 楼liguiwen(Guiwen Li)回复于 2006-10-31 20:55:57 得分 1

同样的菜鸟,期待飞翔!!  
  呵呵Top

66 楼comekkbat(没事闲逛)回复于 2006-10-31 21:58:48 得分 1

你能马上感觉到房间和机器的不合理之处,是应为你的思维已经是按照力学原理的构造进行了  
   
  写代码就象写文章,在写之前,大体的思路应该要清晰,局部模块的应用域要明确,同时在写的时候要考虑到一些基本的复用和将来的可能扩展。  
   
  业务分析,系统架构,模块规划,具体实现,LZ,貌似你还停留在最低层。  
  具体实现又分过程式和面向对象(看到这个词偶就翻胃,没办法,听的太多了,是个CODEING就要来这么一句)式,面向对象又提纯出了一些常用设计模式。  
   
  模块规划着重于局部的具体问题的解决,而系统架构则着眼与业务逻辑的合理实现  
   
  企业的业务需求,是系统存在的唯一理由。  
   
  说白了我们就是XIAOJIE,而客户就是PIAO,ksdf  
   
  长路漫漫,LZ保重。Top

67 楼comekkbat(没事闲逛)回复于 2006-10-31 22:02:14 得分 4

我们存在的唯一目的就是不停的满足客户的各种奇奇怪怪的需求,同时不停弄出一些新的概念来满足客户们的猎奇心理。  
   
  当我们以为在创造世界的时候,其实,我们却是第三产业的中间力量~  
   
  如此而已~Top

68 楼qozms(Alex)回复于 2006-10-31 22:42:47 得分 1

诸葛亮未见而知之,周瑜见而知之,曹操过而知之  
   
  ------------  
  我是过了也不知,汗一个先Top

69 楼Jerryst()回复于 2006-10-31 23:19:35 得分 1

期待飞翔Top

70 楼zhujiujun(<<<<<<<<动感光波>>>>>>>>)回复于 2006-11-01 09:16:02 得分 1

偶也是学机械滴Top

71 楼highest6(被注销)回复于 2006-11-01 09:44:11 得分 4

代码写的越多,赚钱就越少!Top

72 楼guomaomao1981(毛毛:今日秋寒朋友知冷暖,无意间轻描淡写小悠闲)回复于 2006-11-01 09:45:50 得分 1

从写第一行汇编代码开始,到现在6年整,不敢说自己是一个老鸟....离开了网络和MSDN,过个3天,vc的IDE都不会用.....  
  ------------------------  
  up@!Top

73 楼wurunduo(垃圾桶丁)回复于 2006-11-01 11:15:32 得分 1

这都算菜,而我就是菜上万倍了Top

74 楼hbcui1984()回复于 2006-11-01 12:19:57 得分 1

个人感觉算法,逻辑分析能力(更多的是数学修养),经验最重要Top

相关问题

关键词

得分解答快速导航

  • 帖主:mazhahn
  • i_love_pc
  • Cwfly
  • leo2003
  • wanglovec
  • xxzx6
  • 豆腐
  • min_1982
  • min_1982
  • xiao_p
  • elite01
  • likelynn
  • yufenfeila
  • pengjd
  • LoveCJ
  • oolongTea
  • dashi
  • shore1000
  • jian74566
  • zzxing
  • breakind
  • fengge8ylf
  • linchunfu
  • FlowerJunjie
  • rock1124
  • huangruiye
  • kimichen355
  • marydan
  • dfkoko
  • realside
  • ringphone
  • zhang87224088
  • ZW_Ren
  • flyccloud
  • BenKelly
  • HugeJB
  • huayufei
  • zzyong00
  • wanyeye
  • daixf_csdn
  • Focus
  • zctom23
  • daiguan
  • alextooter
  • waitrabbit
  • Ninstein
  • flasherfffff
  • Joyfish
  • ttjacky
  • xingyafei
  • nuanxinren
  • lin_now
  • ncgaofeng
  • LoveCJ
  • qlsc_cainiao
  • lwy8802
  • edutl
  • LinZhongBao
  • rootkitkernel
  • lovewormcn
  • Mi_Bo
  • uuuuuuuuuu
  • Haliput
  • xuwei
  • fanglu
  • liguiwen
  • comekkbat
  • comekkbat
  • qozms
  • Jerryst
  • zhujiujun
  • highest6
  • guomaomao1981
  • wurunduo
  • hbcui1984

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo