0 “所有的代码都是垃圾,除了我的以外
(图片来源于网络)
哥们儿,我有一个坏消息要告诉你,你的代码很垃圾。不管你花费了多少精力,总是有很多程序员认为你的代码是垃圾,他们可以比你做的10倍更好。
怎么解决:不要只顾着批评,你也是写代码的人。尝试去客观的评价,而不是审判!谦虚一点。
1 “马上搞定”带来的灾难
(图片来源于网络)
大家都喜欢走捷径,每个人都做过。有时候走捷径是必须的,但是大部分情况下走捷径是危险的,非常危险,所以我们应该尽量避免。一个捷径可能省了你几个小时的时间,但是可能为你带来几个月的痛苦。
怎么解决:不要一个人偷偷的把事情搞定,而是和别人商量,请别人检查你的工作。假如你要采取捷径的方法,请必须经过所有相关人员,包括你的经理的同意。
2 “错误的估算时间
我住在巴塞罗那,我们那里有非常有名的 Sagrada Familia 教堂。它出名的原因是因为它非常精美,并且预计的建造时间非常长,从1882年开始。我想这个项目在做时间预算的时候没有程序员参与,否则建造完成时间可能是两个礼拜。
怎么解决:首先,准确的预估软件开发的时间是不可能的,我们只能猜。在开发的过程中你可能遇到各种你没有遇见的问题,所以我们往往在预估的时间上乘以2。
3 “盲目自大
程序员之间的讨论有时候看起来像是公鸡打架而不是人类谈话。这往往发生在设计和架构的会议上。在你的眼里,其他人的意见都是扯蛋,扯蛋,扯蛋……
怎么解决:把自大留在家里,冷静的听听别人在说什么,再做决定。
4 “这不是我干的!
我们总是给自己找借口。我们往往给自己开脱,比如在正常情况下,我永远也不会犯那样的错误云云。
怎么解决:谁都会犯错误,调整你的态度,“是的,这是我的问题,我们现在需要修复它”就是一种非常专业的态度。它会帮助你建立你的声望,并获得同事的好感。
5 “缺乏耐心
(图片来源于网络)
虽然重复的简单工作很枯燥,但是那也是必须完成的任务。程序员往往抵制,反感这些任务,导致工作效率低下。
怎么解决:纪律!记住,再激动人心的项目也有枯燥无味的任务要完成!
6 “不成熟
如果编程是做爱的话,一定有很多没有被满足的电脑。你不能简单的进入,做到一半然后就睡觉了。很多程序员都没有搞明白“完成”是什么概念。请记住:完成意味着测试通过(不仅仅是单元测试),文档完整,提交,合并……
怎么解决:这一条很难,很多看起来不必要的任务加在一起很复杂。但这是完成一个项目所必须的工作,需要通过纪律和训练来完成。
本文转载自程序员e家(programmer_clubs),略有修改
原文:top 7 programmers bad habits
译文:www.oschina.net/news/29163/programmers-7-bad-habits
相关推荐
### 程序员的七个致命坏习惯及解决之道 #### 一、代码自恋:除了我的代码,其它都是垃圾 在编程世界中,自视甚高常常导致沟通障碍与团队合作破裂。许多程序员陷入“我的代码最棒”的误区,忽视了代码评审与团队...
总的来说,要成为一个优秀的程序员,必须避免以上提到的坏习惯,注重理解代码、利用现有资源、独立思考解决问题、编写清晰的注释和文档,以及保持对编程基础的掌握。只有这样,才能在编程生涯中不断进步,写出高质量...
十四、让面试失败的十个坏习惯:列举了可能导致面试失败的十个坏习惯,帮助应聘者在面试时避免这些不良习惯。 十五、面试中要避免的肢体语言:讲解了面试中应该注意的非语言沟通技巧,例如眼神交流、坐姿等。 十六...
作为一个成功的程序员,掌握一系列关键技术和...正如“习惯成自然”所言,良好的学习和工作习惯能够促进个人成长,而坏习惯则可能阻碍进步。例如,坚持早起阅读,培养自律和专注力,这将对程序员的职业发展大有裨益。
综上所述,通过日常习惯的调整、有效的时间管理、正确的心态调整以及适当的身心健康维护,程序员朋友们可以有效地减轻工作和生活中的压力,提升生活质量。希望这些建议能够帮助大家更好地应对挑战,享受每一个美好的...
- 空间复杂度:虽然递归方法可能在最坏情况下导致O(n)的栈空间,但在实际操作中,由于树的平衡性,一般不会达到最坏情况。中序遍历的空间复杂度较低,为O(1)(不考虑链表的额外空间)。 这两种方法都可以有效地将...
本文基于“六分钟八法则塑造优秀程序员”的理念,详细介绍了八个具体的实践建议,帮助开发者们在短期内提升自身技能。下面将逐一探讨这八个方法背后的原理与实施细节。 #### 1. 使用更大的显示字体 **核心思想**:...
:fire: Streax - 习惯追踪器 一个简化的习惯追踪器,可帮助您养成好习惯并改掉坏习惯。 它基于“不要打破链条”的理念。 查看。 如果你喜欢, :glowing_star: 回购。 为什么? 因为它让程序员保持积极性。特征添加...
书中强调程序员应具备务实的态度,始终关注解决问题的最有效方法,而不是盲目追求新技术。这包括理解业务需求,编写可维护的代码,以及持续学习和适应变化。 2. **代码质量**: 作者提倡编写简洁、清晰的代码,...
堆内存的管理是程序员最需要关注的,因为堆内存需要程序员通过代码显式地分配和释放。C语言中常用的内存分配函数有malloc、calloc、realloc,它们的原型都定义在stdlib.h头文件中。其中,malloc用于分配一块指定大小...
3. **插入排序**:插入排序将未排序的元素逐个插入到已排序的序列中,时间复杂度在最好、最坏和平均情况下均为O(n^2),但它在处理接近有序的数据时表现良好。 【高级排序算法】 1. **快速排序**:快速排序是一种...
- **哈希表**:最坏情况下,所有元素均不重复,因此哈希表可能存储所有的 n 个元素。 - **总空间复杂度**:O(n)。 ### 知识点五:示例验证 为了验证算法的正确性,文中提供了一个具体的示例: - 输入:`nums = [2,...
作为计算机用户,您可能已经习惯了错误消息是坏消息 - 这意味着您可能做错了什么或尝试过的东西没有用。 但是作为程序员,错误消息是一件非常好的事情。 几乎您编写的任何程序都会出错。 这真的很重要——如果你的...
养出来的,而坏习惯往往由一个小小的疏忽养成;45.学习编程的捷径就是:不走捷径。脚踏实地地从每一个细节开始学习,包括错误处理、内存管理等基础概念;46.当你遇到一个不懂的问题时,不要急于寻求答案。先尝试自己...
快速排序的平均时间复杂度为O(n log n),在最坏情况下时间复杂度为O(n^2)。 另一方面,“一道简单的题.cpp”可能是实现一个简单的排序算法,例如选择排序或插入排序。选择排序每次从未排序的序列中找到最小(或最大...
3. **自学能力**:培养自主学习的习惯,不断拓展知识面。 4. **目标导向**:设定清晰的目标,并为之不懈努力。 5. **做正确的事及正确的做事**:区分轻重缓急,高效地完成任务。 ### 结语 通过对魏猷君分享内容的...
在编写代码时,应遵循良好的编程习惯,比如使用const关键字来保护不应被修改的数据,以及在使用指针后进行有效的检查和清理操作,保证程序的健壮性和稳定性。 总结来说,C语言中的指针是一个非常重要的概念,它提供...