伟大程序员必须具备的7个好习惯

本文是html5tricks原创翻译,转载请看清文末的转载要求,谢谢合作!

当我们被采访的时候,常常会问及这样一个问题——一个伟大的程序员需要具备哪些特质。大多数人回答的是逻辑、机智、耐心以及勤奋。对于这个问题,其实并没有标准答案,但是除了这些特质,习惯也是非常重要的因素。而这一点则只能在已经进入正轨的团队组织中可以窥见。

伟大程序员必须具备的7个好习惯

除了必需的技术技能和逻辑能力,下面讲一下一个团队应该具备怎样的好习惯:

1. 良好的时间管理

迟到对于任何一家公司都是个头痛的问题。作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二天上班就迟到了。但是我们忽略了这一点,我们的工作时间至关重要,因为在这段时间里我们要和客户同步,也要与团队其他成员一齐协作。

2. 深入理解客户需求

仅仅了解单一用户的表面意思是远远不够的。一个伟大的程序员应该具备能把繁琐的要求理解并分解成项目的技术任务或子任务的能力,并且最后拿到的成果应精确满足客户的需求。

3. 在编程之前准备好全套算法

案例、伪代码和流程图统统都是非常重要的软件开发手段。一个伟大的程序员如果没有先准备好算法,那么他是不会像傻小子一样兴冲冲地开工写代码的。写代码实际上只是一个编码任务。

4. 理解并帮助定义验收标准

是否需要高层次测试脚本是由产品所有者决定的,但是一个伟大的程序员必须能够编写技术测试脚本,并且深刻认识到跳过这些步骤可能会带来的后果。

5. 绞尽脑汁还是“NO”

假如抓耳挠腮还是找不出解决办法,我们该如何是好?一个伟大的程序员应该足智多谋,能灵活应对困境。他们会去询问同事,或者是向团队领导者请教;在互联网上面搜索,然后耐下心来一遍又一遍地试验。相信山穷水尽疑无路,柳暗花明又一村,投降两个字从未出现在他们的字典上。

6. 承认自己的缺陷

性格内向就是其中一个对于我们大多数程序员而言很常见的软技能问题。但是一个伟大的程序员一旦知道自己的不足之处之后,会立刻主动改善自我,并且积极执行“客户第一”的服务理念。

7. 主动

优秀的程序员不需要别人告诉他怎么做,他的主动性更强。他有这个自觉,会主动去关注流程;改善能增强软件开发生产力的工具,例如SVN;提高应用程序的灵活性以及解决软件开发中发现的Bug。

最后,我想说的是,无论你是职工还是自由职业者,要明确一点——软件开发的目的是为客户服务。一个伟大的程序员深刻明白每一个任务的价值并且尊重他人的成果,对其呕心沥血的过程感同身受!

译文链接:http://news.html5tricks.com/7-habits-of-great-programmer.html
英文原文:Seven Habits of a Great Programmer
翻译作者:IT新闻 – 蒋丽丽
[ 转载必须在正文中标注并保留原文链接、译文链接和译者等信息。]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于 C 程序员来说,必须具备以下技能: 1. 精通 C 语言的语法和基本概念,并能运用 C 语言编写高质量的代码。 2. 理解操作系统、网络、数据库和其他计算机系统的基本原理,并能使用 C 语言实现相关功能。 3. 熟练掌握常用的数据结构和算法,并能使用 C 语言进行实现。 4. 能够使用各种工具(如调试器、编译器、版本控制系统等)来开发、调试和维护 C 语言程序。 5. 能够与团队成员协作,共同完成项目任务。 ### 回答2: 作为一个 C 程序员必须具备以下技术能力: 1. C 语言基础:掌握 C 语言的语法、数据类型、运算符、控制结构、函数等基础知识,能够编写简单的 C 程序。 2. 算法与数据结构:熟悉各种常见的数据结构,如数组、链表、栈、队列、树、图等,并能够应用适当的算法解决问题。 3. 操作系统:了解常见操作系统的原理和机制,包括进程管理、内存管理、文件系统等,能够理解和编写与操作系统相关的 C 代码。 4. 调试与测试:具备良好的调试技巧,能够使用调试工具分析程序运行过程中的问题并进行修复。同时要有测试意识,编写测试用例和进行单元测试,保证程序质量。 5. 计算机网络:了解计算机网络的基本概念和工作原理,能够编写基于 Socket 的网络程序,并处理网络通信中的一些常见问题。 6. 数据库:熟悉关系数据库的基本原理和 SQL 语言,能够编写简单的数据库操作。 7. 多线程编程:了解多线程编程的基本概念和技术,能够编写多线程程序,并处理线程同步和通信的问题。 8. 性能优化:具备代码优化的思维,能够使用一些工具和技术对程序进行性能分析和优化,提高程序的运行效率。 9. 代码管理工具:熟悉代码管理工具,如 Git,能够进行代码版本控制和团队合作开发。 10. 学习能力:由于技术和编程语言的不断更新,具备良好的学习能力和主动学习的态度,跟上新技术的发展和学习最新的编程技巧。 以上是 C 程序员必备的一些基本技术能力,掌握这些技能能够帮助程序员在 C 语言开发中更加熟练和高效。 ### 回答3: 作为一名 C 程序员必须具备以下技术能力: 1. 精通 C 语言:作为一门高效、底层的编程语言,C 语言是开发各种系统和应用程序的基础。程序员需要深入理解 C 语言的语法、数据类型、控制流程等方面,能够熟练编写高质量的 C 代码。 2. 数据结构和算法:C 程序员需要掌握常用的数据结构和算法,比如数组、链表、树、排序和搜索算法等。这些知识对于解决实际问题、优化程序性能至关重要。 3. 操作系统知识:C 语言是开发操作系统和系统级应用的主要工具。因此,程序员需要了解操作系统的基本原理,熟悉文件系统、进程管理、线程调度等相关概念和技术。 4. 内存管理:C 语言没有自动垃圾回收机制,程序员需要手动管理内存资源。对于大型项目来说,合理、高效地管理内存是非常重要的,防止内存泄漏和资源浪费。 5. 调试和测试能力:C 程序员需要擅长使用调试工具,能够快速定位和修复代码中的错误。同时,编写有效的单元测试和集成测试也是保证软件质量的重要手段。 6. 社区和文档阅读能力:作为一门历史悠久的编程语言,C 有庞大的社区和丰富的文档资源。程序员需要具备阅读和理解他人的代码、参与社区讨论和贡献的能力,以便不断学习和提高自己。 除了以上技术能力,C 程序员还应具备良好的编码风格、团队合作和沟通能力,以及不断学习和研究新的技术趋势的能力。总之,C 程序员需要不仅熟练掌握 C 语言本身,还需要掌握与 C 相关的各种技术和工具,才能成为一名成功的 C 程序员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值