`
ladymaidu
  • 浏览: 686673 次
文章分类
社区版块
存档分类
最新评论

一定要理解程序员 程序员的坏习惯

 
阅读更多
如果你是一个程序员,或者你就读计算机相关专业,那么你应该能理解下面这些诡异的小习惯是怎么养成的,或者你本身就有着其中的某些习惯:

0.程序员数数会从0开始数起.

例:程序员吵架的时候会说:“我数三下,你再不闭嘴我就不客气了!零!一!二!”或者列清单的时候编号会从0.开始写.

因:array[0]是数组的第一个元素.

评:这个习惯的养成是一个艰难的过程.多少次的越界,多少次的循环次数错误让我们深深的记住了从0开始.

1.程序员用肯定和否定回答选择性的问题.

例:问“您想喝咖啡还是喝茶?”程序员答:“嗯.”

因:当条件或||有一个子句值为真,则整个语句值为真.

评:这个习惯夸张了一点,但这的确是程序员思维方式的通病,用计算机的处理逻辑处理人类问题.当然这样的回答显然是存在编程错误的,因为对于这个问题他错误的返回了布尔型的值.虽然高度怀疑有没有人关心这种回答的结果是怎样,还是给出一个答案.如果真的在程序的世界里,服务员会优先考虑给你咖啡,如果没有咖啡了,才会端茶给你.

2.程序员普遍患有或曾经患有分号结尾综合症;

例:比如这几行;

因:大部分程序,特别是多数程序员的启蒙编程语言C语言是用分号结尾语句的;

评:换行之前习惯用分号结尾,这是程序员专属的坏习惯.还记得编译报的各种诡异的错最后原因总是少了那一个小小的”;”吗?这就是这个坏习惯的成因.据说分号结尾是有典故的,因为键盘上的分号正好在右手小拇指的位置,比起句号之类有着得天独厚的地理优势.当然也有不需要分号结尾的编程语言(比如Ruby还有Python),刚用起来会因为没有分号结尾而格外纠结.

3.程序员对”语言”的概念和普通人有差.

例:问:“你都会哪些语言?”普通人:“我会汉语和英语,还会一点点法语.”程序员:“我会C语言,C++和Java,还会一点点Ruby.”

因:程序员的世界里没有母语和外语,只有编程语言.

评:说真的,程序语言的语法学起来比外语更容易,拿到一个用没学过的语言写的程序,你多少可以看懂部分程序.程序语言没有国界,是各国程序员交流最好的桥梁.

4.程序员格格外外的厌恶括号/引号不配对的情形.

例:看到这样的内容(举个简单的例子(我知道你懂的),你能表示”我很淡定我不抓狂吗?

因:各种不配对问题会导致编译错误.

评:扫视代码,对不配对的情况异常敏感,瞥一眼就能发现哪里少了个右括号.这种症状在使用那些带自动补全功能的开发环境时变得更为纠结.

5.程序员认为千(k)==1024.

例:程序员换算表:1km==1024m,1kg==1024g.

因:成因很曲折计算机是二进制的世界->1024是2的10次方->英语里用kilo一词来表示->kilo翻译成中文是”千”,比如千米,千克.

评:也许一般人会认为500,1000是很整的数,但程序员会觉得512,1024是很整的数.不要奇怪,如果128,256,512这种形式看着不够整,帮你转换成二进制:10000000,100000000,1000000000…

6.程序员惯用==来表示相等的意思.

例:见5.

因:在程序语言中,“=”是赋值,“==”才用来判断二者是否相等.

评:单等和双等的区别是程序入门必修课,也是老师爱考的考点.如果在C语言if语句的判定条件里写了个单等,编译能通过,结果却往往不对,够一个新手查上一阵子的.当然目前的语言大都考虑到这一点,防止了这类的误写,但是单等和双等的差异已经深入每个程序员的内心.

7.程序员使用”//”表示”请无视这一行文字”.

例:餐厅中.程序员A:“我吃鱼香肉丝盖饭,你吃什么?”

程序员B:“宫保鸡丁盖饭.”

程序员A在点菜单写上:

鱼香肉丝盖饭1

宫保鸡丁盖饭1

程序员B:“我还是要牛肉面吧!”

程序员A更正点菜单:

鱼香肉丝盖饭1

//宫保鸡丁盖饭1

牛肉面1

因:程序中用”//”为代码加上注释,程序运行时会无视掉”//”开头的代码行.

评:如果和一伙程序员在一起时被冷落了,可以抱怨一句”喂喂喂我是被注释掉了吗?”相信一向以幽默感丰富又有爱心著称的程序员们会关注你的.

8.程序员有中文标点恐惧症.

例:如果你注意到了,这篇文章自始至终都在使用英文标点,这就是最好的例子.

因:程序中的全部符号都严格需要是英文半角标点.

评:这个坏习惯是有中国特色的,中国程序员特有的.任何一名优秀的我国程序员都应该可以作到区别中文标点和英文标点.比如,和,还有’和‘.真的,当年初学编程的时候,诸如“error C2018:unknown character’0xa3′”的错误看得还不够多吗!

就是这样一群人,如果你慢吞吞的用电脑他们会急躁的抢过键盘熟练的使用各种快捷键,他们会对着小孩子讲计算机的三原色是红绿蓝而不是红黄蓝,他们描述大小距离更偏向于以像素作单位,陪女朋友看电影看到电影院座位上稀稀落落的人就想做磁盘碎片整理…抱怨归抱怨,这不也正是他们的可爱之处吗!

分享到:
评论

相关推荐

    程序员特有的9个坏习惯

    标题中的“程序员特有的9个坏习惯”提示我们,这篇博文可能关注的是编程实践中常见的不良习惯,...总结起来,这些坏习惯提醒程序员要注重代码质量、团队协作和效率,通过遵循最佳实践和利用合适的工具来改进工作流程。

    软件员的七大武器,成功的程序员

    作为一个成功的程序员,掌握一系列关键技术和...正如“习惯成自然”所言,良好的学习和工作习惯能够促进个人成长,而坏习惯则可能阻碍进步。例如,坚持早起阅读,培养自律和专注力,这将对程序员的职业发展大有裨益。

    成为好程序员必须避免的5个坏习惯

    以下五个坏习惯是许多程序员常常陷入的陷阱,理解并避免它们对于提升编程水平极其重要。 1. 不加理解的拷贝代码 在编写程序时,我们往往会在网上找到类似或相同功能的代码片段。直接复制粘贴而不去理解其内部逻辑是...

    高级开发员面试宝典之谈程序员如何修练英语.docx

    4. 增加一些“习惯性用语”:增加一些“习惯性用语”可以帮助你更好地理解英语技术文档和论文等。 三、具体提高英语能力的方法 1. 背单词:背单词可以使用小卡片的方法,每天背一张卡片,背完后听前一天背过的单词...

    1习成就新生活:毁人一生的99个坏习惯————相当好啊

    标题中的“1习成就新生活:毁人一生的99个坏习惯”似乎与IT行业专业知识并无直接关联,但它提供了一个个人发展和习惯改善的主题。描述中的内容重复了标题,同样没有涉及具体的技术细节。然而,我们可以从这个主题...

    程序员面试选精选.doc

    【知识点详解】 在程序员面试中,经常会遇到各种...这两种方法都可以有效地将二元查找树转换成排序的双向链表,选择哪种方法取决于个人的编程习惯和对递归的理解。在面试中,清晰的思路和合理的代码实现是评判的关键。

    pragmatic programmer

    作者鼓励程序员保持学习的习惯,不仅限于技术层面,还包括沟通技巧、团队协作等方面。他们提出了“每天进步一点点”的理念。 8. **代码调试**: 讲述了调试的艺术,提倡使用“调试器”作为强大的工具,以及如何...

    计算机基础1

    本书主要关注的是程序员的思维方式和习惯。它强调如何培养良好的编程习惯,提高问题解决能力,以及如何进行有效的学习和思考。这本书有助于提升程序员的逻辑思维,批判性思维和创新思维,使他们能更好地适应不断...

    PHP程序员玩转Linux系列 备份还原MySQL

    总结来说,PHP程序员在Linux环境下管理MySQL数据库时,应掌握逻辑备份和物理备份的方法,理解它们的适用场景和局限性。同时,保持良好的数据库维护习惯,如定期备份、启用binlog以及了解如何使用备份工具,这些都是...

    Pragmatic Programmer, The: From Journeyman to Master

    - 回顾了基本的算法和数据结构,提醒程序员保持对基础理论的深入理解。 - 提到了计算机系统的基础知识,如内存管理、编译原理等。 《程序员的修炼之道:从新手到专家》不仅提供了丰富的实践建议,还启发了程序员...

    编程老师给c++初学者的50是宝贵建议

    的,而坏习惯往往先于你意识到之前就已经养成了; 45.每当你遇到一个C++中的新概念或术语,比如多态性、模板元编程、智能指针,都要深入理解其背后的原理和实现机制,不要仅仅满足于知道如何使用; 46.尝试参与...

    给C++初学者50个忠告

    养出来的,而坏习惯往往由一个小小的疏忽养成;45.学习编程的捷径就是:不走捷径。脚踏实地地从每一个细节开始学习,包括错误处理、内存管理等基础概念;46.当你遇到一个不懂的问题时,不要急于寻求答案。先尝试自己...

    Java和C语言实现各种经典算法_含代码图例_

    Java和C语言是两种广泛应用的编程语言,它们在实现各种经典算法方面都有广泛的应用。...通过深入学习和实践这些算法,不仅可以提高编程能力,也能培养解决问题的思维习惯,这对于任何程序员的事业发展都是非常有益的。

    键盘转换 3.9_可以替换坏掉的键哦~~

    此外,对于那些习惯特殊按键布局的用户,此软件也提供了自定义键位的可能性,满足个性化需求。 在软件的使用过程中,用户可以通过简单的操作界面选择需要替换的键,然后指定一个新的键来替代它。例如,如果“A”键...

    c++ primer 第5版(李普曼) part3

     贯穿全书,我们都在强调好的风格:我们想帮助读者直接养成好的习惯,而不是在获得很多很复杂的知识后再去忘掉那些坏习惯。我们特别强调那些棘手的问题,并对常见的错误想法和陷阱提出警告。  我们还注意解释规则...

    《代码大全》电子版1.0

    2. **编程习惯**:良好的编程习惯能够使代码更具可读性。《代码大全》提倡使用一致的缩进和空格,遵循命名约定,以及使用恰当的代码结构,如函数的单一职责原则。 3. **错误处理**:在C和C++中,错误处理是关键。书...

    代码大全2 中文清晰完整版

    代码应易于理解,避免过度复杂的设计,同时也要考虑到未来的修改和扩展。 2. **设计原则**:书中介绍了设计模式和面向对象设计的基本原则,如单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口...

    源代码书写规范

    2. 避免坏习惯:遵循编码规范可以防止开发者形成不良的编程习惯,比如过度复杂的逻辑、不恰当的变量命名等。规范化的代码通常更易于检查和调试,因为它们遵循一致的规则,减少了隐藏的错误源。 3. 一致的代码风格:...

    键盘按键替换、屏蔽工具,KeyTweak

    首先,我们要理解键盘按键替换的概念。在日常使用中,有时键盘的某些键可能会损坏或者不再响应,此时,KeyTweak就可以派上用场。通过这个工具,用户可以将一个无法使用的键映射到其他仍然正常的键,实现按键功能的...

    高质量程序设计指南-C++C语言

    在C++和C语言中,良好的编程习惯和深入理解语言特性至关重要。以下是一些关键知识点: 1. **程序的版式**(第2章):编程规范中,代码的版式和格式化是提高可读性和维护性的重要因素。这包括缩进、空格、注释的使用...

Global site tag (gtag.js) - Google Analytics