Book contents
- Frontmatter
- Contents
- Acknowledgments
- Foreword
- Preface
- About the Author
- Chapter 1 Leading-Edge Software Development
- Chapter 2 Understanding the Basics–Object-Oriented Concepts
- Chapter 3 Full Lifecycle Object-Oriented Testing (FLOOT)
- Chapter 4 Agile Model–Driven Development (AMDD)
- Chapter 5 Usage Modeling
- Chapter 6 User-Interface Development
- Chapter 7 Supplementary Requirements
- Chapter 8 Conceptual Domain Modeling
- Chapter 9 Business Process Modeling
- Chapter 10 Agile Architecture
- Chapter 11 Dynamic Object Modeling
- Chapter 12 Structural Design Modeling
- Chapter 13 Object-Oriented Programming
- Chapter 14 Agile Database Development
- Chapter 15 Where to Go from Here
- Glossary
- References and Recommended Reading
- Index
Chapter 13 - Object-Oriented Programming
Published online by Cambridge University Press: 03 March 2010
- Frontmatter
- Contents
- Acknowledgments
- Foreword
- Preface
- About the Author
- Chapter 1 Leading-Edge Software Development
- Chapter 2 Understanding the Basics–Object-Oriented Concepts
- Chapter 3 Full Lifecycle Object-Oriented Testing (FLOOT)
- Chapter 4 Agile Model–Driven Development (AMDD)
- Chapter 5 Usage Modeling
- Chapter 6 User-Interface Development
- Chapter 7 Supplementary Requirements
- Chapter 8 Conceptual Domain Modeling
- Chapter 9 Business Process Modeling
- Chapter 10 Agile Architecture
- Chapter 11 Dynamic Object Modeling
- Chapter 12 Structural Design Modeling
- Chapter 13 Object-Oriented Programming
- Chapter 14 Agile Database Development
- Chapter 15 Where to Go from Here
- Glossary
- References and Recommended Reading
- Index
Summary
Ouch! My paradigm shifted.
The purpose of object-oriented programming is to build your actual system, to develop the code that fulfills your system's design. Your design artifacts, such as unified modeling language (UML) class and state machine diagrams, drive the development of your source code. Design and programming are highly interrelated and iterative and you will often move back and forth between them. Your programming efforts will quickly reveal weaknesses in your design that need to be addressed, and your design efforts will reveal potential strategies to code the system effectively.
Developers will typically focus on two types of source code: object-oriented code, such as Java or C#, and database-oriented code, such as data definition language (DDL), data manipulation language (DML), stored procedures, and triggers. Section 13.4 describes how to implement common object-oriented concepts in Java and Chapter 14 describes database coding. The end goal of your programming efforts is to produce a component, subsystem, or even a full-fledged application that can undergo testing in the large (described in Chapter 3).
This chapter discusses these topics:
Philosophies for effective programming;
Programming tips and techniques for writing high-quality code;
Test-driven development (TDD);
From object design to Java code; and
What you have learned.
PHILOSOPHIES FOR EFFECTIVE PROGRAMMING
Over the years I have found that the following philosophies have helped improve my effectiveness as a programmer:
Always write high-quality, clean code. Quality work is one of the practices of extreme programming (XP) (Beck 2000), and my experiences confirm the importance of writing high-quality code at all times. High-quality code is easier to write, easier to understand, and easier to enhance. Sloppy code will only slow you down.
[…]
- Type
- Chapter
- Information
- The Object PrimerAgile Model-Driven Development with UML 2.0, pp. 393 - 441Publisher: Cambridge University PressPrint publication year: 2004