在世界顶级软件开发大师Robert C. Martin(Bob大叔)最新力作The Clean Coder: A Code of Conduct for Professional Programmers(《程序员的职业素养》,章显洲、余晟译,人民邮电出版社,2012年)一书中,他结合自己40多年的软件开发经验(1969年至今),列出了他所认为的一个专业软件开发人员必须精通的事项(与原书中次序保持一致),原文是:Here is a minimal list of the things that every software professional should be conversant with:
■ Design Patterns(设计模式):You ought to be able to describe all 24 patterns in the GOF book and have a working knowledge of many of the patterns in the POSA books.
必须能描述GoF书中的全部24种模式(应该是把简单工厂模式也算进去了,包括6种创建型模式、7种结构型模式和11种行为型模式),同时还要有POSA(即Pattern-Oriented Software Architecture<面向模式的软件架构>系列丛书,一共5卷。第1卷综合介绍模式系统和软件架构,广泛地引入了软件设计和架构中的通用模式;第2卷介绍用于并发和网络化对象的模式,专注于建立复杂的并发和网络软件系统与应用程序的基本模式;第3卷介绍资源管理模式,即那些在系统中实现有效的资源管理所需的技术;第4卷介绍分布式计算的模式语言,介绍了一种模式设计语言,将分布式系统开发中的114个模式联系起来;第5卷介绍模式与模式语言,从分析单个模式入手,深入探究了模式之间的关系,介绍了如何将模式和模式语言相结合)书中的多数模式的实战经验。
■Design principles(设计原则):You should know the SOLID principles and have a good
understanding of the component principles.
必须知晓SOLID(分别是单一职责原则Single Responsibility Principle,开闭原则Open-Closed Principle,里氏代换原则Liskov Substitution Principle,接口隔离原则Interface Segregation Principle,依赖倒转原则Dependency Inversion Principle,其中依赖倒转原则就是Bob大叔1996年提出来的)原则(个人觉得从完整性出发,还应该加上合成复用原则Composite Reuse Principle和迪米特法则Law of Demeter),而且要深刻理解组件设计原则(面向组件设计的一些原则,在设计组件时我们也需要遵循一些原则,例如重用-发布等价原则REP、共同重用原则CRP、共同封闭原则CCP、无环依赖原则ADP、稳定依赖原则SDP、稳定抽象原则SAP等)。
■ Method(方法):You should understand XP, Scrum, Lean, Kanban, Waterfall, Structured Analysis, and Structured Design.
必须理解极限编程、Scrum、精益、看板、瀑布、结构化分析和结构化设计。
■ Disciplines(实践):You should practice TDD, Object-Oriented design, Structured Programming, Continuous Integration, and Pair Programming.
必须掌握测试驱动开发、面向对象设计、结构化编程、持续集成和结对编程。
■Artifacts(工件):You should know how to use: UML, DFDs, Structure Charts, Petri Nets, State Transition Diagrams and Tables, flow charts, and decision tables.
必须知道如何使用UML、DFD数据流图、结构图、Petri网络图、状态转换图表、流程图和决策树。
上述技能,你又精通多少呢?
The Clean Coder: A Code of Conduct for Professional Programmers
Uncle Bob
【作者:刘伟 http://blog.csdn.net/lovelion】
分享到:
相关推荐
The Robert C. Martin Clean Code Collection - Martin, Robert C_.mobi by The Robert C. Martin Clean Code Collection - Martin, Robert C_.mobi (z-lib.org)
The Robert C. Martin Clean Code Collection. The Robert C. Martin Clean Code Collection.
Practical Software Architecture Solutions from the Legendary Robert C. Martin (“Uncle Bob”) By applying universal rules of software architecture, you can dramatically improve developer productivity...
敏捷软件开发,Jolt大奖获得者经典著作 学软件工程的一定要看哦
Clean Architecture - Robert C. Martin,英文版,原版epub格式,以及azw3和mobi。
Clean Architecture - Robert C. Martin,英文版,mobi格式,适合kindle和电脑看。官方epub转换,自带完整目录,格式很好
在这本书中,由享誉全球的软件开发专家和软件工程大师Robert C.Martin所著,他是敏捷开发的创始人之一。主要向读者展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本书是综合性、实用...
Robert C. Martin 撰写的《清洁代码 - 敏捷软件Craft.io手册》一书的摘要/注释。 以下笔记是我的个人笔记,希望不要侵犯版权。 如果是,请联系我以从 github 中删除此文件。 干净的代码 - Robert C. Martin 的敏捷...
《敏捷软件开发:原则、模式与实践(C#版)》是C#程序员提升功力的绝佳教程,也可用作高校计算机、软件工程专业本科生、研究生的教材或参考书。 作者简介 Robert C. Martin(Bob大叔)世界级软件开发大师,著名软件...
《敏捷软件开发:原则、模式与实践(C#版·修订版)》是C#程序员提升功力的绝佳教程,也可用作高校计算机、软件工程专业本科生、研究生的教材或参考书。 作者简介 Robert C. Martin(Bob大叔)世界级软件开发大师,...
罗伯特·C·马丁(Robert C. Martin)的书《清洁代码》(Clean Code)中的软件工程原理适用于PHP。 这不是样式指南。 这是在PHP中生产可读,可重用和可重构软件的指南。 清理代码PHP目录目录简介变量使用有意义且可...
在本书中,享誉全球的软件开发专家和软件工程大师robert c.martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷...
飞机运动仿真
软件开发实践和原则 十二个因素 方法可以应用于以任何编程语言编写的应用,并且可以使用支持服务(数据库,队列,内存缓存等)的任意组合。 罗伯特·马丁(Robert C. Martin)的设计原则和设计模式 罗伯特·C·...
数据结构与程序设计(英文版)Data Structures and Program Design in C++ Robert L. Kruse 数据结构与程序设计C++语言描述 作 者:(美)克鲁斯
本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin深入而生动地使用真实案例讲解了面向对象基本原则、重要的设计模式、UML和敏捷实践等程序员必备的知识。本书于2003年荣获第13届Jolt大奖,是C++和Java...
Robert F.Pierret著 Semiconductor Device Fundamentals的英文讲义的01-03章。 目前只有这么多。
在这本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷...