如何成为优秀程序员:如何成为优秀的程序员?

1)学习应该从基础打起不要开始就尝试最高深技术

2)每看本书不要说这章我以前学习过了也掌握很好因此我可以跳过这章看
更重要

3)对于作业遇到不会尽量不要立刻向别人请教如果实在解决不了问题可以先
完成你会然后把些特别难点提炼出来向高手请教

3)不要指望书本和行家能帮你解决切问题并不是所有问题都能由别人教给你

4)向别人请教问题应该把问题介绍说明白对于提示信息应该原样提供出来不要按自
己理解信息提供既然你自己做不了介绍说明你理解般都有问题

5)问问题最好能带代码

6)不要说“编译通过可是运行时..."编译和运行可能根本没有关系
般来说编译是语法问题而运行是逻辑问题

7) 书看千遍不如做应该尽量尝试去写

8)做千个不如做好应该尽量完善你现在做而不要不断开新
而每个计划都虎头蛇尾

9)要想到你不是个人写而是和大家起写

10)高深窍门技巧虽然显示了高深本领但是对于合作往往是有害应该尽量写出简
单易读代码

11)编制应该尽量做到自注释即代码本身读就懂好象自己在介绍说明自己逻辑


12)复杂代码如果实在做不到自注释应该给出适量注释

13)注释在修改代码时候应该相应修改不能用陈旧注释去误导别人

14)代码应该尽量可重用相同功能代码应该由相同完成重要应该给出调
试信息以便调试时及早发现问题

15)应该尽量写小每个尽量不要超过40行或者更少这样不用滚动屏幕也许
就可以读完整个

16)对于switch语句尽量不要有过多分支如果分支太多可以考虑用跳转表

17)尽量少使用些有争议语句如goto和 3目运算符既然有争议它肯定有
缺点

18)对于goto许多工程师技术高到可以合理使用而不至于导致问题但是你
并不定给你同水平人看和修改他们可不能保证合理读和修改这些相关代码

19)代码编写时应该有格式其基本要求是对理解代码有定帮助

20)如果数据是多个模块共有应该提供个封装类来管理它并提供个合适
接口给各个模块这样如果数据内容有重大修改则只要接口不变基本上可以保证
不要很复杂修改

21)应该尽量考虑到数据并发控制

22)数据并发控制应该封装在接口内而不要暴露给其他模块这样可以减少
发原因导致死锁

23)数据本身结构不可以太复杂应该尽量把不相关数据分割成为两组数据

24)对于数据量比较大情况应该考虑数据库

25)数据库接口应该采用标准ODBC或者ADO接口尽量不要根据实际数据库DBMS提供
口来处理你可能在实际使用中更换DBMS

26)小数据可以考虑文件文件路径应该必须设计成相对路径

27)在应该尽量打开文件后使用完后立刻关闭这样其他可能使用文


28)不要尝试把文件全部读到内存中应该分次处理大文件

29)编写应该提供相关测试以提供测试手段

30)应该考虑代码、使用情况不要超越可以使用范围使用的


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


  1. 扎实基础数据结构、离散数学、编译原理这些是所有计算机科学基础
如果不掌握他们很难写出高水平据我观察学计算机专业人比学其他专
人更能写出高质量软件Software人人都会写但当你发现写到定程度很难再提高
时候就应该想想是不是要回过头来学学这些最基本理论不要开始就去学OOP
即使你再精通OOP遇到些基本算法时候可能也会束手无策

  2. 丰富想象力不要拘泥于固定思维方式遇到问题时候要多想几种解决问
方案试试别人从没想过思路方法丰富想象力是建立在丰富知识基础上
计算机以外多涉猎其他学科比如天文、物理、数学等等另外多看科幻电影也
个很好途径

  3. 最简单是最好这也许是所有科学都遵循条准则如此复杂质能互换
原理在爱因斯坦眼里不过是个简单得不能再简单公式:E=mc2简单思路方法更容易被
人理解更容易实现也更容易维护遇到问题时要优先考虑最简单方案只有简单
方案不能满足要求时再考虑复杂方案

  4. 不钻牛角尖当你遇到障碍时候不妨暂时远离电脑看看窗外风景听听
轻音乐和朋友聊聊天当我遇到难题时候会去玩游戏而且是那种极暴力打斗类
游戏当负责游戏那部分大脑细胞极度亢奋时候负责编程那部分大脑细胞就得
到了充分休息当重新开始工作时候我会发现那些难题现在竟然可以迎刃而解

  5. 对答案渴求人类自然科学发展史就是个渴求得到答案过程即使只能
知道答案小部分也值得我们去付出只要你坚定信念定要找到问题答案
才会付出精力去探索即使最后没有得到答案在过程中你也会学到很多东西

  6. 多和别人交流 3人行必有我师也许在次和别人不经意谈话中就可以迸
出灵感火花多上上网看看别人对同问题看法会给你很大启发

  7. 良好编程风格注意养成良好习惯代码缩进编排变量命名规则要始
终保持大家都知道如何排除代码中却往往忽视了对注释排错注释是程
个重要组成部分它可以使你代码更容易理解而如果代码已经清楚地表达了
思想就不必再加注释了如果注释和代码不那就更加糟糕

  8. 韧性和毅力这也许是"高手"和员最大区别A good programming
is 99 weat and 1ffee高手们并不是天才他们是在无数个日日夜夜中磨练出来
成功能给我们带来无比喜悦但过程却是无比枯燥乏味你不妨做个测试找个1
0000以内素数表把它们全都抄下来然后再检查 3遍如果能够不间断地完成这
工作你就可以满足这



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


* 比较宽知识面并且能够时时补充自己知识和完善自己知识结构

* 耐心好特别是在调试和学习阶段世界上没有聪明人只有刻苦做开发其实
就两件事情学习和改错在这两件事情中间开发过程其实是比较简单

* 永远记住:代码是给人看而不是给机器运行计算机在执行时是不怕累
而人在看代码时是非常累

* 良好编码习惯至少保证自己能够随时看懂几个月前自己所写代码

* 尽量让你代码能够很容易被别人理解写代码时想想你会不会在两个月后被别人


* 不要容忍自己犯重复和写重复代码

* 知道如何做比得到代码更重要

* 尽量不要做已经有很多人已经做过事情

* 学会尊重别人开发成果除非不得已不要下决定全面替换以前系统

* 珍惜自己时间和工作成果尽量让别人分享自己开发成果

* 避免假设多研究极端情况和引起可能性努力减少低级

* 不要相信至少是不要轻信自己为自己所做测试结果

* 懂得坚持自己开发思路并懂得理解和吸收别人思想

* 学会和其他人保持但不能放弃自己开发特色

* 懂得向你周围人学习不论是开发能力上还是开发经验上

* 懂得软件Software结构重要性分析代码前先分析代码结构

* 学会整理总结定期整理总结自己所学会知识看看自己前段时间各种原因所浪费


* 学会计划尽量不要认为通过延长自己工作时间来完成任务

* 学会正确估计自己能力和工作时间

下面这些是我认为些比较适合我自己方面定对每个人都合适:

* 多看些杂志没事情时候可以看看以前看过参考书书中很可能有你以前没有注
意到些细节

* 不要太早去做些和开发无关事情学习黄金时期是很短暂

* 学会分析别人系统多看看别人所开发系统先进这里包括别人开发
思路实现时所采用结构

* 时常感到自己将被淘汰经常埋怨自己不努力

* 知道自己缺少什么

* 强迫自己做些自己不喜欢做事情比如说写文档

* 能够有勇气重写自己所开发系统但当你重做时你应该采取和前次区别工作方
式和思路方法否则重做就没有必要

* 将问题简单化而不是复杂化

* 将维护时会产生部分问题转移到开发时或是设计时来解决

* 有时候也不妨问问自己:我不做开发时去做什么

* 坚持为自己做每周开发计划在事情没有做完以前不要轻易转移自己注意力

* 尽可能多将你所做教给别人你有天可能不再负责这个系统

* 做事定要有始有终除非是有不得已理由否则不要在工作完成前提前离开

* 不要将你为公司做东西带走你因该带走是开发经验和对开发认识而不是代码
和产品

* 感到累时就休息给自己放个假也无妨毕竟人不是机器

  做员很累够你受加油吧!



  • 篇文章: Linux2.4.18内核下基于LKM系统劫持

  • 篇文章: 如何利用ASP实现邮箱访问
  • Tags:  如何成为一个程序员 如何成为程序员 优秀程序员 如何成为优秀程序员

    延伸阅读

    最新评论

    发表评论