Tips on coding practices

Slides:



Advertisements
Similar presentations
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Advertisements

1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
BITS Pilani Avinash Gautam Department of Computer Science and Information Systems.
Framework is l Reusable Code, often domain specific (GUI, Net, Web, etc) l expressed as l a set of classes and l the way objects in those classes collaborate.
Unified Modeling Language
Object Oriented Programming A brief review of what you should know about OOP.
Basic OOP Concepts and Terms
Chapter 1 Principles of Programming and Software Engineering.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
UML and Object Oriented Concepts
Object Oriented Programming
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
CS200 Algorithms and Data StructuresColorado State University Part 4. Advanced Java Topics Instructor: Sangmi Pallickara
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Object Oriented Programming Principles Lecturer: Kalamullah Ramli Electrical Engineering Dept. University of Indonesia Session-3.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Object Oriented Modeling David Li CTO, DigitalSesame.
: Maha Sabri Altememe Lecturer : Maha Sabri Altememe Lecture :1 1.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Chapter 2 Principles of Programming and Software Engineering.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Principles of Programming & Software Engineering
Agile/XP Introduction
Object-Oriented Programming
OOP - Object Oriented Programming
Programming paradigms
What is an Object Objects are key to understanding object-oriented technology. An object can be considered a "thing" that can perform a set of related.
Object Oriented Programming
Concepts of Object Oriented Programming
Chapter 1: Introduction to Systems Analysis and Design
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
The Movement To Objects
University of Central Florida COP 3330 Object Oriented Programming
CHAPTER 5 GENERAL OOP CONCEPTS.
Architecture Concept Documents
Object-Oriented Techniques
Principles of Programming and Software Engineering
1、A date warehouse is a computer system designed for archiving and analyzing an organization’s historical data, such as sales, salaries, or other information.
C++ Classes & Object Oriented Programming
University of Central Florida COP 3330 Object Oriented Programming
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Object Oriented Concepts
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
Understand and Use Object Oriented Methods
Introduction to Computer Science for Majors II
Software Design Lecture : 14.
DEV-08: Exploring Object-oriented Programming
CIS601: Object-Oriented Programming in C++
Chapter 1: Introduction to Systems Analysis and Design
Basic OOP Concepts and Terms
Chapter 5.
Selenium WebDriver Web Test Tool Training
CS114B Introduction to Computer Science II
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Chapter 1: Introduction to Systems Analysis and Design
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
From Use Cases to Implementation
Presentation transcript:

Tips on coding practices Practice is learn by repetition. Daily practice, daily better. Tips on coding practices Presenter: PhuongNQK

Basic mindset Traditional way Agile way Processes and tools Individuals and interaction Comprehensive documentation Working software Contract negotiation Customer collaboration Following a plan Responding to change There is value There is MORE value

OOP - What is it? Object-oriented programming (OOP) is a programming paradigm that uses "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as: Data abstraction Encapsulation Modularity Polymorphism Inheritance. It was not commonly used in mainstream software application development until the early 1990s. Many modern programming languages now support OOP.

OOP concepts Object Class Inheritance Interface Package An object is a software bundle of related state and behavior. Software objects are often used to model the real-world objects that you find in everyday life. Object A class is a blueprint or prototype from which objects are created. Class Inheritance provides a powerful and natural mechanism for organizing and structuring your software. It allows classes to inherit state and behavior from their superclasses. Inheritance An interface is a contract between a class and the outside world. When a class implements an interface, it promises to provide the behavior published by that interface. Interface A package is a namespace for organizing classes and interfaces in a logical manner. Placing your code into packages makes large software projects easier to manage. Package

Basic OOAD principles Imaginary abstraction > Blind simulation Interface > Implementation Composition > Inheritance Single responsibility No god class Avoid having too many vapor classes

Naming code elements A name should be: It can be: Class name should be a capitalized noun A name should be: Expressive Concise It can be: Noun Adjective Verb Verb phrase Relative pronoun: that, where, etc. Similar elements should have similar names. Non-public field name has a small initial letter Argument name has a small initial letter Property name should be a capitalized noun/adjective Method name should be a capitalized verb … … or a verb phrase

Working habits Concentrate 100% of your performance Write test when possible Remove duplication Refactor regularly Use new syntaxes Apply design patterns Expressive code > lengthy comments Learn something new everyday

E.g. Write test when possible Main class Test class

E.g. Remove duplication Original Revised

E.g. Refactor regularly

E.g. Use new syntaxes Old way New way

E.g. Expressive code > lengthy comments

Daily working schedule Suggestion 1 1 hour 8 hours/day (5 days/week) Suggestion 2 Stay in one color at a time Concentrate 100% of your performance Coding Refactoring Spiking or learning something new Side-works such as chatting, reading emails, web news, relaxing, etc.

Trust me and give it a try! Summary Practice is the repetition of an activity to improve skill. No repetition, no improvement at all. You practice today for tomorrow effectiveness. You practice daily, you daily get better. Trust me and give it a try!

Thanks for coming. See ya!