SlideShare a Scribd company logo
1 of 10
Good Programming Practice
Programming Computer Science
AECSCOutline
What isa
Framework for
Software
Development?
 The framework for software development is a procedure that
can be followed when developing software solutions.
 It includes:
 Investigation (Problem description, Define requirements,
Development schedule)
 Design (Design data structures, Design and test algorithm)
 Develop (Develop and debug code, Unit testing and use of live
data)
 Evaluate (User acceptance testing, Developer retrospective)
Investigation
 Investigate
o Problem description – A breakdown of requirements
of the problem and parameters that need to be
considered.
o Define requirements – Examine the outcome
requirements and specifications the client may have.
o Development schedule – Create a timeline for when
each aspect of the task will be done. Gantt charts can
be useful for this.
Design
 Design
o Design data structures – The data structure design is a method
that starts with the specification of the program (what the
program does) and leads to the detailed program design
expressed in the form of pseudo-code.
o Design and test algorithm – Write the code in the chosen format
and with suitable software. Test it yourself, have others test it
and run it through testing code.
Develop
 Develop
 Develop and debug code – Expand on initial code
and debug it using range and type checking, testing
boundaries and parameters.
 Unit testing and use of live data – Break down the
code and test individual units of data, ensuring all
components are working as expected. Use live data
(real world, up-to-date data) to test your algorithms,
seeing how it will perform in the ‘real world’.
Evaluate
 Evaluate
 User acceptance testing – UAT is testing done
by the client to ensure it serves the purpose it
was designed for. The program should be almost
finalised.
 Developer retrospective – Meeting to discuss
how the development and implementation of the
software went and what could be improved next
time. Positive and constructive feedback is
necessary for the developer to grow and
implement changes in future updates.
Good
Programming
Practice
o validate input before processing - Input Validation, also known as data
validation, is the testing of any input (or data) provided by a user or
application against expected criteria. Input validation prevents
malicious or poorly qualified data from entering an information system.
o use of meaningful variable names - Meaningful variable names are
those that clearly articulate the data that the variable holds. It's as
simple as that. Avoid variable names that contain confusing or
ambiguous abbreviations, and certainly avoid meaningless variable
names such as v1 , v2 , etc.
o use constants for readability and maintenance - In programming, the
term constant refers to names representing values that don’t change
during a program’s execution. Constants are a fundamental concept in
programming, and Python developers use them in many cases.
However, Python doesn’t have a dedicated syntax for defining
constants. In practice, Python constants are just variables that never
change. To prevent programmers from reassigning a name that’s
supposed to hold a constant, the Python community has adopted a
naming convention: use uppercase letters.
Good
Programming
Practice
o use of comments to explain code - Commenting involves placing
Human Readable Descriptions inside of computer programs detailing
what the Code is doing. Proper use of commenting can make code
maintenance much easier, as well as helping make finding bugs faster.
Further, commenting is very important when writing functions that
other people will use.
o appropriate use of standard control structures - Control Structures can
be considered as the building blocks of computer programs. They are
commands that enable a program to “take decisions”, following one
path or another. A program is usually not limited to a linear sequence
of instructions since during its process it may bifurcate, repeat code
or bypass sections. Control Structures are the blocks that analyze
variables and choose directions in which to go based on given
parameters.
o use of appropriate indentation and white space - Indentation refers to
the spaces at the beginning of a code line. Where in other
programming languages the indentation in code is for readability only,
the indentation in Python is very important. Python uses
indentation to indicate a block of code.
Good
Programming
Practice
o one logical task per module - The single-responsibility
principle (SRP) is a computer programming principle that
states that "A module should be responsible to one, and only
one, actor." The term actor refers to a group (consisting of one
or more stakeholders or users) that requires a change in the
module.
o meaningful names for modules - A module’s interface should
be easy to use, easy to understand and easy to ensure
correctness. It should reflect this in its name and naming
patterns for consistency, readability and usability among
programmers.

More Related Content

Similar to 7a Good Programming Practice.pptx

System analsis and design
System analsis and designSystem analsis and design
System analsis and designRizwan Kabir
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxethiouniverse
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOpsCoveros, Inc.
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering OverviewPrachi Sasankar
 
Exploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsExploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsIRJET Journal
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile EngineeringJohn Lewis
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 

Similar to 7a Good Programming Practice.pptx (20)

Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
07 fse implementation
07 fse implementation07 fse implementation
07 fse implementation
 
System analsis and design
System analsis and designSystem analsis and design
System analsis and design
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
 
Unit iv
Unit ivUnit iv
Unit iv
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOps
 
Ch17
Ch17Ch17
Ch17
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Exploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD MetricsExploring the Efficiency of the Program using OOAD Metrics
Exploring the Efficiency of the Program using OOAD Metrics
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
 

Recently uploaded

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 

Recently uploaded (20)

Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 

7a Good Programming Practice.pptx

  • 3. What isa Framework for Software Development?  The framework for software development is a procedure that can be followed when developing software solutions.  It includes:  Investigation (Problem description, Define requirements, Development schedule)  Design (Design data structures, Design and test algorithm)  Develop (Develop and debug code, Unit testing and use of live data)  Evaluate (User acceptance testing, Developer retrospective)
  • 4. Investigation  Investigate o Problem description – A breakdown of requirements of the problem and parameters that need to be considered. o Define requirements – Examine the outcome requirements and specifications the client may have. o Development schedule – Create a timeline for when each aspect of the task will be done. Gantt charts can be useful for this.
  • 5. Design  Design o Design data structures – The data structure design is a method that starts with the specification of the program (what the program does) and leads to the detailed program design expressed in the form of pseudo-code. o Design and test algorithm – Write the code in the chosen format and with suitable software. Test it yourself, have others test it and run it through testing code.
  • 6. Develop  Develop  Develop and debug code – Expand on initial code and debug it using range and type checking, testing boundaries and parameters.  Unit testing and use of live data – Break down the code and test individual units of data, ensuring all components are working as expected. Use live data (real world, up-to-date data) to test your algorithms, seeing how it will perform in the ‘real world’.
  • 7. Evaluate  Evaluate  User acceptance testing – UAT is testing done by the client to ensure it serves the purpose it was designed for. The program should be almost finalised.  Developer retrospective – Meeting to discuss how the development and implementation of the software went and what could be improved next time. Positive and constructive feedback is necessary for the developer to grow and implement changes in future updates.
  • 8. Good Programming Practice o validate input before processing - Input Validation, also known as data validation, is the testing of any input (or data) provided by a user or application against expected criteria. Input validation prevents malicious or poorly qualified data from entering an information system. o use of meaningful variable names - Meaningful variable names are those that clearly articulate the data that the variable holds. It's as simple as that. Avoid variable names that contain confusing or ambiguous abbreviations, and certainly avoid meaningless variable names such as v1 , v2 , etc. o use constants for readability and maintenance - In programming, the term constant refers to names representing values that don’t change during a program’s execution. Constants are a fundamental concept in programming, and Python developers use them in many cases. However, Python doesn’t have a dedicated syntax for defining constants. In practice, Python constants are just variables that never change. To prevent programmers from reassigning a name that’s supposed to hold a constant, the Python community has adopted a naming convention: use uppercase letters.
  • 9. Good Programming Practice o use of comments to explain code - Commenting involves placing Human Readable Descriptions inside of computer programs detailing what the Code is doing. Proper use of commenting can make code maintenance much easier, as well as helping make finding bugs faster. Further, commenting is very important when writing functions that other people will use. o appropriate use of standard control structures - Control Structures can be considered as the building blocks of computer programs. They are commands that enable a program to “take decisions”, following one path or another. A program is usually not limited to a linear sequence of instructions since during its process it may bifurcate, repeat code or bypass sections. Control Structures are the blocks that analyze variables and choose directions in which to go based on given parameters. o use of appropriate indentation and white space - Indentation refers to the spaces at the beginning of a code line. Where in other programming languages the indentation in code is for readability only, the indentation in Python is very important. Python uses indentation to indicate a block of code.
  • 10. Good Programming Practice o one logical task per module - The single-responsibility principle (SRP) is a computer programming principle that states that "A module should be responsible to one, and only one, actor." The term actor refers to a group (consisting of one or more stakeholders or users) that requires a change in the module. o meaningful names for modules - A module’s interface should be easy to use, easy to understand and easy to ensure correctness. It should reflect this in its name and naming patterns for consistency, readability and usability among programmers.