程序员自我管理的9个原则

我最近刚读完 Robert C. Martins 的新书 《The Clean Coder: A Code of Conduct for Professional Programmers 》(编注:暂无中文版)。我可以毫不犹豫地、诚实地说,这本书真的改变了我对于专业软件开发人员的看法和观念。在阅读过程中,我一直把学习到的事情和头脑中瞬间转变的事情写在剪贴簿上。

我强烈建议任何,不论老手或者新手,只要是还没有机会读这本书的软件开发人员都应该找时间读一下。关于成为一名专业软件开发人员的意义,这本书提供了许多有价值和有趣的信息。

声明:请注意,因为不同的人有不同的看法。这是我对这本书阐述内容的理解。

 

我学到的9件事

□ 一名专业开发人员了解所开发项目的领域

□ 一名专业开发人员是具有团队精神的人

□ 一名专业软件开发人员能肩负责任

□ 一名专业开发人员知道模式和准则

□ 一名专业开发人员能够在忙碌中保持冷静

□ 一名专业开发人员会不断训练自己的专业技能

□ 一名专业开发人员会适当休息

□ 一名专业开发人员懂得时间的宝贵

□ 一名专业开发人员从不害怕说不

 

1. 一名专业开发人员了解所开发项目的领域

作为一名专业开发人员,你的工作不仅仅是阅读需求说明书和编写软件代码。你还应该知道项目在现实中是如何使用的。

这就意味着如果你要编写一个记账软件,你至少应该具备一些基本的财务知识。你不需要成为这个领域的专家,但是有一点这方面的知识的话,在解决问题和提出解决方案时将有很大帮助。

2 一名专业开发人员是团队的一员

作为一名专业开发人员,你当然应该对其他人礼貌并乐于助人。当别人向你寻求帮助时,你应该换位思考,像你自己所期望的那样去帮助别人。你应该乐于助人并乐于接受别人的帮助。

而且,你不应该把自己和代码独立于团队之外。记住!这些代码不是属于你的,是属于整个团队的。所以,不要不理会参与工作的其他人,甚至不让他们看代码,而是应该鼓励。这将帮助你成长为一名开发人员,因为这样就产生了反馈,而这对团队和项目都是大有裨益的。

团队随着时间推移,也会变得越来越好,最后团队成员会了解彼此的优点和弱点。当团队能够如此时,作为一个团队就能很高效地解决问题了。由于需要时间来建立这样坚实的团队,当一个项目完成时,给团队一个新项目比解散整个团队要明智得多。

3 一名专业软件开发人员能肩负责任

作为一名专业开发人员,你要对你的代码负责。你的工作就是了解你代码的作用和所有代码的功能。当你编码时,你应该注意不要对你的项目产生危害,并且尽可能的将错误率降至接近于零。

这能够通过简单的测试完成。测试代码使你对工作更有信心,了解怎样编写最好的代码并且避免错误。Robert C. Martin最近说最高的目标是QA部门找不到任何小错误。一个具有测试代码的完整项目也给开发人员更多的信心来处理漏洞。

单元测试和验收测试应当利用持续集成系统自动完成(因为它比手动测试更加便宜)。这种测试应该一直运行,即使是开发人员向项目提交代码的时候。如果测试间断,应该尽快修复。

Robert C. Martin也强烈支持测试驱动开发TDD致力于训练开发人员考虑更好的设计并构建他们的代码,使之易于测试。据Robert C. Martin所说,不使用TDD是不专业的。

4 一名专业开发人员了解模式和准则

作为一名专业开发人员,编写高质量的、已测试的、干净的代码是你的责任。这包括了解设计模式、规范、方法、准则和技巧。

由于软件产业发展的不断变化,不断使用新的思路和工具,保持更新到最新的标准和技术同等重要。

你在任何时候都不能因为忽视标准而降低你的质量,即使是繁忙和紧张的情况下为了缩短时间。

5 一名专业开发人员能够在忙碌中保持冷静

作为一名专业开发人员,你应该在忙碌和有压力的情况下始终保持冷静。尝试想出最好的解决问题的办法并将情况告知你的上司,寻求他们的反馈和意见。

忙中更易出错。在紧急情况下,你可以尝试与同事结对编程。这样不仅可以减少新增的错误而且也是一个与团队成员分享知识的好方法。

6 一名专业开发人员会不断训练自己的专业技能

作为一名专业开发人员,你应该花时间关心你的技能。就像其他专业,实践带来能力、技巧和经验。

通过读、练和学习一直训练你自己是你的责任——实际上,任何帮助你成长为软件开发人员和帮助你起步的事物都在不停变化着。

重要的一点是,你应该在你自己的私人时间里完成,而不是在工作时间里。培训你不是他们的责任,而是你自己的责任。当然,不要和你应该工作的时间弄错。这个时间应该专门针对你和你的兴趣。你可以做任何感兴趣的事。据Robert C. Martin所说,如果你每周工作40小时,你应该花20小时提高你的专业技能。

7 一名专业开发人员会适当休息

作为一名专业开发人员,你应该知道做一名软件开发人员是很费脑子和累人的工作。注意不要劳累过度是很重要的,你需要在工作和生活之间寻找平衡。做一个休息好的开发人员使你能更专注并且在工作中表现得更好。这也是对抗心理阻滞的良方。

8 一名专业开发人员懂得时间的宝贵

作为一名专业开发人员,你应该知道时间的宝贵。它们不应该被随意浪费,这就要求你要合理安排你的时间,比如开会,就很浪费时间。婉言谢绝会议对你不利,但如果参加则不利于任何人。

会议也应有明确的议程和目标。如果你注意到会议开始变得乏味并且对你不再有益,或者议程被放弃抑或会议变成简单唱高调,你要么换个新的话题要么礼貌地离开。你也许有更好的事情去做而不是继续坐在那里。

9 一名专业开发人员从不害怕说不

作为一名专业开发人员你不应该害怕说不。如果你发现一些事情是不现实的(例如一个意见、期限、要求等等)这些需要你提出来。不是大多数时候——而是每一次。

你甚至不应该说你可以试试,因为这样将会提供一个假象那就是这个任务是可行的,也可能更糟,这使你变成一个骗子,有损你在上司和同事之间的名声。相反,尝试改换措辞并解释你所关心的问题。清晰和具体地明确问题的时间和日期。

如果你的上司不听你的或者不接受否定的回答,你应该想想更进一步行动。虽然越级不太好,但是最后会带来对所有参与者最好的结果。

据Robert C. Martin说,判断的定义因人而异。对于商务人士,判断方法是承诺。对软件开发人员,判断是猜测,概率计算。

你应该只对能够确保完成的工作做出承诺。当专业地对一些事承诺后,提供硬性标准并且确保在期限内完成工作。

 

原文作者:Christoffer 编译:伯乐在线 – 魏哲

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Robert C. Martin, "The Clean Coder: A Code of Conduct for Professional Programmers" Prentice Hall | 2011 | ISBN: 0137081073 | 256 pages | PDF | 6 MB Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals. In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice—about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act. Readers will learn: - What it means to behave as a true software craftsman - How to deal with conflict, tight schedules, and unreasonable managers - How to get into the flow of coding, and get past writer’s block - How to handle unrelenting pressure and avoid burnout - How to combine enduring attitudes with new development paradigms - How to manage your time, and avoid blind alleys, marshes, bogs, and swamps - How to foster environments where programmers and teams can thrive - When to say “No”—and how to say it - When to say “Yes”—and what yes really means Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user. Great software isn’t written by machines. It is written by professionals with an unshakable commitment to craftsmanship. The Clean Coder will help you become one of them—and earn the pride and fulfillment that they alone possess.
### 回答1: 程序员自我修养是一本技术类图书,通过以文字方式呈现,将核心内容以PDF文件的形式呈现给读者。 《程序员自我修养》一书是由俞甲子、俞甲子联合编写的,该书主要讲述了程序员在技术方面的自我提升与修养。书中详细介绍了程序员所需具备的技能与素质,并通过实例、案例等方式来进行详细解析。 首先,本书着重强调了程序员的技术素养。作为一名合格的程序员,必须具备扎实的编程基础知识,熟练掌握至少一种编程语言,并能够灵活应用于实际项目中。同时,还要不断学习新的编程技术和工具,提高开发效率和质量,不断追求技术的创新与突破。通过深入的技术讲解和实例分析,读者可以更好地理解和掌握这些关键技能。 其次,本书重视程序员的思维与方法。除了技术之外,合理的思维方式和解决问题的方法也是程序员必备的素养。本书通过探讨算法、数据结构、设计模式等内容,引导读者形成良好的编程思想和解决问题的思路。在实际开发过程中,程序员能够运用这些思维和方法,更加高效地解决实际问题。 此外,本书还提到了程序员的团队合作和沟通能力的重要性。现代软件开发往往需要多人合作完成,团队合作和沟通能力至关重要。本书通过讲解项目管理、代码规范、团队协作等方面的内容,帮助读者更好地适应团队开发的环境。 总之,《程序员自我修养》在技术、思维方式和团队合作等多个方面对程序员自我提升与修养进行了全面而详细的讲解。通过阅读文字版PDF,程序员可以更好地了解自身在技术和素养方面的不足,并通过实践和学习不断提升自己。 ### 回答2: 《程序员自我修养》是一本由俞甲子编写的程序员必读经典之一。这本书涵盖了计算机科学的基础知识和程序员在日常工作中所需要的修养和技能。 首先,这本书强调了程序员应具备的基本素质。不仅要有扎实的计算机基础知识,还要有广泛的知识储备和求知欲。书中指出,只有具备全面的知识背景,程序员才能适应不断变化的软件开发环境,并能够快速学习和掌握新的技术。 其次,书中提到了程序员的编程能力。编程是程序员的基本技能,而编程能力的提升不仅仅局限于语法和算法的掌握,更要关注代码的可维护性、可读性和可测试性。此外,书中还提到了代码风格规范、代码重构和代码调试等重要的编程技巧。 此外,这本书还介绍了程序员应具备的工程素养。程序员工作不仅仅是写代码,还包括需求分析、架构设计、项目管理等方方面面。程序员应该具备良好的团队合作和沟通能力,能够与其他人合作完成一个项目。此外,书中还提到了软件工程的重要原则和方法,如模块化、面向对象设计、测试驱动开发等。 除此之外,书中还特别强调了程序员自我提升和学习能力。程序员应保持持续学习的态度,不断跟进行业的最新发展,并积极参与技术社区和开源项目,与其他程序员互动交流,共同进步。 总之,《程序员自我修养》是一本涵盖广泛知识和技能的书籍,其中介绍了程序员应具备的基本素质、编程能力、工程素养和自我提升等方面的内容。这本书对于程序员的职业发展和能力提升有着重要的指导作用,值得每位程序员认真阅读和实践。 ### 回答3: 《程序员自我修养》是一本由俞甲子编著的程序员修养指南,以PDF文字版的形式呈现。本书旨在帮助程序员们提升自己的理论基础和实践能力,进而追求个人的成长和职业发展。 《程序员自我修养》主要分为理论和实践两部分。在理论部分,作者深入浅出地介绍了计算机系统的基本原理、计算机网络的工作原理、软件工程中的常用设计模式等。通过这些理论知识的学习,程序员们能够更好地理解计算机系统的运行机制,从而编写更高效、稳定的程序。 而在实践部分,本书通过丰富的实例和案例,引导程序员们进行实践和项目开发。它包括了代码调试和优化的技巧、算法与数据结构的实践应用、多线程与并发编程的方法等。通过这些实践指导,程序员们能够更好地应对实际问题,并提高代码质量和效率。 《程序员自我修养》文字版的PDF形式具有以下优点:一是方便携带和阅读,读者可以随时随地进行学习和查阅;二是易于搜索和标注,可以快速定位到自己关注的内容,并进行个性化的学习笔记;三是多平台兼容,可以在各种设备上进行阅读,满足不同读者的需求。 总之,《程序员自我修养》文字版的PDF形式是一本帮助程序员们提升自己的重要工具,通过学习其中的理论知识和实践经验,程序员们能够更好地应对工作中的挑战,提升自身的竞争力,实现个人价值的最大化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值