打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
51一个老程序员的心得
1个老程序员的心得;[size=4]不知不觉做软件已经做了十年,有成;1.扎实的基础;2.丰富的想象力;3.最简单的是最好的;4.不钻牛角尖;5.对答案的渴求;6.多与别人交流;7.良好的编程风格;8.韧性和毅力;这些是我这几年程序员生涯的一点体会,希望能够给大;做了快三年的程序员了,有一点小体会和大家分享一下;1.好钢是由铁炼成的.;一名好的程序员必须经过
1个老程序员的心得
[size=4]不知不觉做软件已经做了十年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。
1. 扎实的基础。数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握他们,很难写出高水平的程序。据我的观察,学计算机专业的人比学其他专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到一定程度很难再提高的时候,就应该想想是不是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即使你再精通OOP,遇到一些基本算法的时候可能也会束手无策。
2. 丰富的想象力。不要拘泥于固定的思维方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是建立在丰富的知识的基础上,除计算机以外,多涉猎其他的学科,比如天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
3. 最简单的是最好的。这也许是所有科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能满足要求时再考虑复杂的方案。
4. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,而且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就得到了充分的休息。当重新开始工作的时候,我会发现那些难题现在竟然可以迎刃而解。
5. 对答案的渴求。人类自然科学的发展史就是一个渴求得到答案的过程,即使只能知道答案的一小部分也值得我们去付出。只要你坚定信念,一定要找到问题的答案,你才会付出精力去探索,即使最后没有得到答案,在过程中你也会学到很多东西。
6. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上上网,看看别人对同一问题的看法,会给你很大的启发。
7. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果代码已经清楚地表达了你的思想,就不必再加注释了,如果注释和代码不一致,那就更加糟糕。
8. 韧性和毅力。这也许是"高手"和一般程序员最大的区别。A good programming is 99% sweat and 1% coffee。高手们并不是天才,他们是在无数个日日夜夜中磨练出来的。成功能给我们带来无比的喜悦,但过程却是无比的枯燥乏味。你不妨做个测试,找个10000以内的素数表,把它们全都抄下来,然后再检查三遍,如果能够不间断地完成这一工作,你就可以满足这一条。
这些是我这几年程序员生涯的一点体会,希望能够给大家有所帮助
做了快三年的程序员了,有一点小体会和大家分享一下.
1.好钢是由铁炼成的.
一名好的程序员必须经过千锤百炼才行, 挫折是程序员最大的宝,要能承受挫折,战胜挫折,只有不断经受挫折,从挫折中吸取经验,教训,这样你才能成为真正的程序员.
2.手是好汉,眼是懒汉.看会不是目的,要会写,勤动手,熟练书写各种常用代码,在学习之初 可以不借助IDE来书写代码,反复练习,熟能成巧,毋庸置疑.
3.稳中求胜,小心使得万年船.程序员最忌讳毛躁.代码多,项目大的时候,错误是在所难免的,但低级错误一定不能犯,尽量把错误压到最低,这就要求我们程序员养成稳重,多思维的方式,切忌浮躁,养成良好的书写习惯和正确的思维方式.
4.做就做程序员,不要做高级打字员.
每个程序员都是从基础学起的,在学的时候一定要把握好方向不要被众多的语言,概念所迷惑,学的是语言,学的是编程思想不要在IDE上下功夫,研究哪个好,哪个坏,要敢于创新,程序是死的人是活的,在活人手里,也要让程序活起来.多学多看数据结构等书多看别人的成型代码,学习别人的思想,使自己成为真正的程序员.
5.敢想敢做,持之以恒,一切皆有可能!
一点薄思庸见送给赛迪网java版的初学者们,仅代表本人个人意见,如有任何各位大虾有好的方法或意见可以跟帖提出.
java开发八荣八耻
以动手实践为荣,以只看不练为耻。
以打印日志为荣,以出错不报为耻。
以局部变量为荣,以全局变量为耻。
以单元测试为荣,以手工测试为耻。
以代码重用为荣,以复制粘贴为耻。
以多态应用为荣,以分支判断为耻。
以定义常量为荣,以魔法数字为耻。
以总结思考为荣,以不求甚解为耻。
从大学开始到现在, 学习编程已经四年了,在过去的四年里学了不少的东西,总感觉自已还行吧。怎么着也能找个好的工作。加上在学校表现良好,大专一毕业就顺利应聘上一个政府机构的工作。虽然工资不算多,但也稳定。
但总觉得自己有点屈才.一天,见到本市的一家知名软件企业的招聘信息,就把自己从大学三年到现在写过的一些东西简单地写了一份求职信过去(不是想跳槽,只是想测试一下我现在这份工作丢了,在社会上我能够达到什么程度)。
没想到,第二天,那家公司就叫我过去应聘了。感觉很突然,总觉得一些软件公司在人才网站上打一些招聘信息总是借此做大做广告,并不是想招聘人,就是要招聘人,可能因为这种因素的机率都很小吧。(这是我一直以来对人才网站上某些软件公司的招聘信息的看法),
不过却增加了几分信心,于是我便兴冲冲的去了。
到了公司,首先就让我填写一张表格,填写完一张表格以后安排一个技术主管过来与我谈,谈的倒不是一些深入的技术问题,我基本上的都能应上来。接着就是上机测试。测试的题目是写一个人员信息的插入、修改、显示。主考官说只需要写一个功能就是,只是希望看看我的编程风格。于是我把数据操作写了一个类,然后在按钮的事件里得到输入框值,组合一个SQL,传到数据操作类里面去执行,然后返回插入结果就可以了。完了,很快搞定。马上叫主考官过来看吧。呵呵,小意思。
主考官过来了,首先就在姓名的地方输入好长的一串字符串,接着一阵乱输,完了,出问题。名字太长了,邮件没有限制,身份证没有限制,生日没有限制,完了,完了,我想,这么点东西,就出问题了,我心里好一阵紧张。还好就是主考官的态度还不错,说:“虽然你做了足够的注释,缩近也注意了,但是却没有对输入的值进行判断,我们这为合理的判断也是好的编程风格,再者,你虽然把数据操作写成了类,但也有很多的改进,一是。。。二是。。。”说完以后还鼓励我接着写刚才的代码。当时真是很是感动,但感动归感动,说老实话,这些判断平时还真的没有写过多少,都是写一个以后,COPY过去COPY过来的用,现在一时还觉得有些短路,不知道如何是好,然后,就是按钮的事件中写对数值的判断。终于完成了,再看看表,时间距刚开始测试已经快一个小时了。
主考官过来看了,觉得功能都实现了,就叫了公司的一个副经理(后来才知道的)来继续面试我。这个副总就到我到另外的一个会议室去,问了我一些技术概念的问题,结果我基本上都答不过来(我以前觉得我能够用就够了啥,没有太大的必有对这写概念的条款记得这么清楚啥),结果,那位副经理训斥了我一下,说:“你对这些概念都不清楚,怎么了解其间的性能呢,不了解性能如何开发高效率的程序呢?”(整个谈话这句最让我满意,其他的都是"我们是专业的软件公司,很注重软件的性能,编程风格等等如事云云"),最后问了我的薪水要求和能不能适应公司的开发等就叫我回家去等消息。
当然,由于后面没有过关当然也没有应聘得上。更当然,我吸取了这次应聘的经验,总结以下几条来做为以后学习的信条,写出来与大家共勉:
一,学习应该从基础抓起,注意学习的每个细节,争取学精,避免为了开发而开发。
二,在以一门语言为主功语言的同时,要学习一下与之相关的其它技术。
三,长常保持对新技术的关注,了解未来发展的方向,做到有的放矢。
四,多参与项目开发,在项目中发现问题,解决问题,才能更好的了解学习中的细节问题。
五,加强交流,多写文章,多发源码,多收取意见,在交流学习并提高,才能更快了解自已的不足。
六, 永远相信下一个作品是最好的....
业余程序员最喜欢做的一件事就是对不同的语言进行比较。Java是否比C++好?C#是否会成为终极语言?凡此种种。从专业程序员的角度看来,这是最低级无趣的游戏。
其一,在项目诸元确定之后,通常并没有选择语言的余地;其二,语言的生存本身就是一个达尔文主义的问题:设若两种语言有明确的可比较性,其中较劣的那一种必定早已被淘汰出局,又何来比较的必要?所以,有“C++之父”美称的Bjarne Stroustrup博士常常声明自己不会拿C++与其他语言比较——偏偏每次接受采访时,必定有外行的记者或听众提出这一类最令他反感的问题,这是题外话,按下不表。
丢开实用主义的观点,从美学(或者说,计算机科学)的角度来看,语言的比较似乎并不像它通常所表现的那么低级。毕竟,既然维特根斯坦反复强调“语言制订游戏的规则”、“凡不可言说者必保持沉默”,可见语言并非仅仅是可通约的思想的映射,语言本身就决定思想的方式。使这个问题显得那么低级而业余的,往往是业余程序员讨论它的方式:仅仅凭着自己对几种语言一知半解的认识、仅仅凭着使用一种语言的习惯、甚至仅仅凭着一种宗教狂热来展开讨论,这样的讨论自然是不值一哂的。
我是不是已经提到了“宗教狂热”这个词?如果说对语言的喜爱(或者憎恶)可以成为一种宗教狂热,就有那么一些人可以凭着宗教般的狂热成为开发高手,Ian Joyner无疑属于这种人。1992年,在Unisys用C++开发UNIXX.500时,Joyner感到C++让他“不自在”,于是就写了一篇题为《C++批判》的报告,张贴在Unisys的内部新闻组上。到此为止,一切都没有什么不同。但Joyner与其他宗教狂热者的区别在于:他有着远为深厚的理论基础,以及锲而不舍的毅力。于是,《C++批判》有了第二版和在Internet上广为流传的第三版。到1998年,这篇典型的论坛文章终于变成了一本书,“批判”也彻底变成了语言之间的比较(参与比较的另外两种语言是Java和Eiffel),这就是我手上的《对象揭秘:Java、Eiffel和C++》(Object Unencapsulated:Java,Eiffeland C++,人民邮电出版社2003年7月)。
尽管宣称自己反对“宗教战争”,但显然Ian Joyner是深谙宗教战争之道的。从批评的方式来说,他与其他人并无不同:首先立论(“Eiffel是最好的语言”),然后不断变换角度批评对手——时而是数学理论的完备性、时而是使用的便利和可靠、时而是命名的清晰??论据的选取完全只是为论点服务。也正因为此,这本《对象揭秘》足以让绝大多数的语言比较者感到羞赧,因为在同样的批评套路上,Joyner探索的深度和广度令他们望尘莫及。譬如说,任何一个负责的语言比较者都必然会提到“继承和类型系统”这一话题,但Joyner却把这个话题写成了长达63页的一章(第5章,“类型扩展:继承与虚拟”),并在后面的章节(第9章,“类型转换”)中继续讨论相关的问题。抛开篇幅不谈,单是Joyner习以为常的文法解读、Lamda演算法和签名变化理论,就足以使不够水准的批评者自惭形秽了。
因此,在我看来,这本《对象揭秘》完全有理由成为所有语言比较者的必读书目——也许说“入门书目”会更准确一些?因为你能想到的任何一条批评,Ian Joyner很可能早已做了鞭辟入里的阐述。如果在细读《对象揭秘》之前妄自作评,结果很可能是贻笑大方。另一方面,在批评的方法上,Joyner为后来者作出了表率:简单的反对与谩骂毫无意义,用钱钟书的话来说,“反其道以行也是一种模仿”;只有拿出充足的论据,再拿出合理的解决方案,才称得上一个高明的批评者。当然,这样的“入门书目”也许让门槛显得太高了一点。但对
于“Java和C++谁更好”这样一个通常只会令人感到莫名烦躁的话题,门槛总是不厌其高的。
像我一样的Java人常常会抱怨“Java的经典书籍太少了”。C++的经典好书总是层出不穷,实在令人艳羡——当然真正拥有这些书的人也同时拥有不少的烦恼,我就有最深切的体会。在这本《对象揭秘》中,IanJoyner顺便也半开玩笑地揭开了这个秘密。也许,这句半开玩笑的话会成为Java人喜爱这本书的另一个理由:
“??学习C++要花那么长时间??,要比Eiffel和Java都长得多。花那么长时间还未必掌握编程或者面向对象设计技术。这也是为什么关于C++的书籍那么多而Eiffel和Java不需要那么多书的原因。”
我是初中时接触编程的。那时父亲厂里买了一台微电脑,而我父亲,当时正好可以接触到这台微机,于是,颇具战略眼光的父亲便开始帮我寻找各种书籍资料,让我学起了计算机。
第一眼看到它,我就被吸引住了。那是在当时也很差的一种名叫“R1”的微机,可是颜色实在漂亮,典雅的奶黄色,配着深绿的按键,按下不同的键还有不同音调的悦耳的声音。跟当时风行的大多数八位微电脑一样,整个机身实际就是一个键盘,比现在PC机通常的键盘还要小,显示器就用电视机。当我第一次把从书上抄下来的寥寥几句的一个Basic程序从嘀嘀作响的键盘上敲入,最后再打进了“RUN”,而屏幕上忠实地显示出了结果后,我就不可救药地迷上了编程。父亲的厂离家有五公里,每个星期天我都要自己一个人步行五公里,把一个星期里自己写下的一大堆Basic程序拿来调试,当然一大半都被它冷酷的拒绝了,所以每次有一个程序通过了,我都会兴奋的叫起来。那时我的体力不好,五公里走下来,相当累,还经常小腿抽筋,可是一坐到电脑前,听见打开时“嘀”的提示音,一切的痛和累都消失了。
渐渐地我的程序通过率越来越高了,程序的规模也在增长。但是,那台外表可爱的电脑却开始不堪重负了,运行速度本来就慢,又加上效率低下的解释性Basic语言,让我实在不可忍受。于是,父亲又到新华书店为我订下了一本《Z80汇编语言》的书。书一到,我就捧起这部大块头的书,开始用我初中的程度一点点地啃。边啃边实验,终于掌握了Z80汇编语言,又在电脑不具备输入汇编语言能力的情况下,手工翻译成机器语言,再通过Basic语言中的Poke语句把二进制代码输入内存,然后用Basic程序调用。在不懈的努力下,终于成功地做出了一个汇编语言的动画程序!在这次成功之后,我就开始相信,只要肯钻研,没有学不会的技术,没有克服不了的难题。
初中毕业后,我以全县第一的成绩进入了一所附近城市的省重点中学,从此我的眼界开始逐渐拓宽了,以后,我用到的电脑越来越高级,从高档八位机苹果电脑,到今天主频以G计,内存以M计的奔四电脑,当年那台主频内存都只能以K计的八位机已是进了历史博物馆。但是这台引领我进入编程领域,并且更驱使我深入钻研汇编语言的电脑,将是我记忆中最珍贵的收藏之一。
在重点中学,学业的压力是很重的,又是住校独立生活,对于体力已较大程度下降、行
三亿文库3y.uu456.com包含各类专业文献、专业论文、中学教育、行业资料、高等教育、幼儿教育、小学教育、51一个老程序员的心得等内容。
1234
下载地址:51一个老程序员的心得.Doc
【】
最新搜索
一个老程序员的心得
Using integral transforms to e
西南政法大学学生会
五柳先生传(超全)
“四有”新风尚——个人师德总结
最新外研版 小学英语三年级下学期 导学案
琴女小动物饲养日记
恩施华龙总医院
江苏省苏州市2014–2015学年第二学期期末模拟卷(2)七
人事主管任职要求及岗位职责
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
从职业的Java编程到人人能做的Python编程,代码正在逐渐普及
是学习Java还是Python?一张图告诉你!
如果代码替换成中文就会怎样? 程序员看了会头疼!
如果代码替换成中文就会怎样? 程序员看了会不会头疼?
每个程序员都应该学习使用Python或Ruby
程序员眼中的英语单词
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服