SlideShare une entreprise Scribd logo
1  sur  3
Algorithmic

An algorithm must:
Be lucid, precise and unambiguous
Give the correct solution in all cases
Eventually end
Pseudo Code
Detailed and readable description (in structured English) of what a
computer program or algorithm must do (states the steps to the problem
solution)
Statements are written in simple English
Each instruction/step is written on a separate line
Keywords and indentation are used to signify particular control
structures
Each set of instructions is written from top to bottom, with only
one entry and one exit
Used as a detailed step in the process of developing a program. It allows
designers or lead programmers to express the design in great detail and provides
programmers a detailed template for the next step of writing code in a
specific programming language
*there are six basic computer operations
A computer can receive information
A computer can put out information
A computer can perform arithmetic
A computer can assign a value to a variable or memory location
A computer can compare two variables and select one of two alternate
actions
A computer can repeat a group of actions
Flowchart
Naming Conventions
Global data
Data that can be used by all the modules in a program
Every module in the program can access and change data
Lifetime of a global variable spans the execution of the whole program
Local data
Variable are defined within the submodule are called local variables
The scope of a local variable is simply the module in which it is defined
The lifetime of a local variable is limited to the execution of the single
sub module in which it is defined
Coding Library Modules
Purpose: To build, construct and/or develop library modules
Steps:
Create detail design for library modules
Code library modules
Review code of library modules
Fix defects of library modules
Coding Functional Modules
Purpose: To build, construct and/or develop functional modules
Steps:
Create detail design for modules and program units, if required in
design documents
Code modules and program units
Review code
Fix defects for modules and program units
Summarize and submit result to Team Lead
Integrate Software Modules
Purpose: assemble the software package from the software modules,
ensure that the software package, as integrated and functions properly
Steps:
Create integration plan (if needed)
Integrate modules
Evaluate integration results, conduct cause analysis, raise change
request (if needed)
Review and approve results of integration
Create System Description
Purpose: To develop System Description /User Manual documents that
support in software operation
Steps:
Make overview on system
Describe sub-systems and main functions including system structure
scheme, flow charts, system interfaces, data flows
Describe system requirements including support data, memory
capability, CPU and I/O requirements, storage capability, data for internal and
external interfaces
Describe software structure including library of source codes (for
system, sub-systems, objects) library of executive and supporting programs
Develop User Manual
Review and approve System Description/User Manual
Deliver & Summarize
Purpose: To deliver software package
Steps:
Review, do final inspection and summarize software products
including documents
Deliver to test team
Create coding summary report
Maintain documents, records
Coding Convention - Introduction
Be specific to each programming language
Recommend programming style, practices, and methods for each aspect
of a piece program
Common conventions may cover the following areas:
file organization,
naming conventions
indentation, white space,
comments, declarations, statements,
programming practices, principles, rules of thumb,
Etc.
Coding Convention - Importance
Code conventions are important to programmers for a number of
reasons:
80% lifetime software cost is for maintenance
People maintain the software may be changed
Following coding convention strictly helps:
Improve the readability of the software
Allowing engineers to understand new code more quickly and
thoroughly
Some Common Standards
Tab and Indent
4 spaces should be used as the unit of indentation
Tab characters should be avoided
Line Length: avoid lines longer than 80 or 120 characters
Wrapping Lines: When an expression will not fit on a single line,
break it according to below principles:
Break after a comma.
Break after a logical operator.
Break before an operator.
Prefer higher-level breaks to lower-level breaks
Comments: beginning, block, single-line, trailing, …
Number of declarations per line: same types, different types
Some Common Stand
Blank Lines improve readability by setting off sections of code that
are logically related
Two blank lines should always be used:
Between sections of a source file
Between class and interface definitions
One blank line should always be used:
Between methods
Between the local variables in a method and its first statement
Before a block or single-line comment
Between logical sections inside a method
Blank spaces should be used in the following circumstances
A keyword followed by a parenthesis should be separated by a space
A blank space should appear after commas in argument lists
All binary operators except . should be separated from their
operands by spaces
Naming Conventions
General naming rules:
Should be functionally meaningful, & indicate identifier s purpose
Use terminology applicable to the domain
Identifiers must be as short as possible (<=20 characters)
Avoid names that are similar or differ only in case
Abbreviations in names should be avoided, etc.
Use a noun or noun phrase to name a class or code module
Variables names must start with lowercase
Constants: named in uppercase letters, might have underscore
Method names must start with lowercase letter, usually use  active
verb  as the first word of method name
Instance /object names follow rules of variable names
Code Review
A thorough technical & logical line-by-line review of a code module
(program, subroutine, method, ..)
In a code review, the team would examine a sample of code and fixes
any defects in it
Codes is inspected to identify possible improvements and ensure that
business requirements are met.
For example, it could be made more readable or its performance could
be improved
Review Benefits
A different perspective
Assess and accelerate progress
Pride/reward: more pride,
Project/module familiarity
Fewer bugs and less rework,
Better team communication
Team cohesiveness
Review Candidates
A portion of the software that only one person has the expertise to
maintain
Code that implements a highly abstract or tricky algorithm
An object, library or API that is particularly difficult to work
with
Code written by someone who is inexperienced or has not written that
kind of code before, or written in an unfamiliar language
Code which employs a new programming technique
An area of the code that will be especially catastrophic if there
are defects

Contenu connexe

Tendances

Study techniques of programming in C
Study techniques of programming in CStudy techniques of programming in C
Study techniques of programming in CTushar B Kute
 
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Bhavin Darji
 
Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language ProcessingHemant Sharma
 
2.2. language evaluation criteria
2.2. language evaluation criteria2.2. language evaluation criteria
2.2. language evaluation criteriaannahallare_
 
Programming content
Programming contentProgramming content
Programming contentBazlin Ahmad
 
role of lexical anaysis
role of lexical anaysisrole of lexical anaysis
role of lexical anaysisSudhaa Ravi
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof languagenicky_walters
 
Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.Md Hossen
 
La5 Basicelement
La5 BasicelementLa5 Basicelement
La5 BasicelementCma Mohd
 

Tendances (20)

Code Inspection
Code InspectionCode Inspection
Code Inspection
 
3ss
3ss3ss
3ss
 
C programming
C programmingC programming
C programming
 
Study techniques of programming in C
Study techniques of programming in CStudy techniques of programming in C
Study techniques of programming in C
 
DISE - Programming Concepts
DISE - Programming ConceptsDISE - Programming Concepts
DISE - Programming Concepts
 
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
Overview of Language Processor : Fundamentals of LP , Symbol Table , Data Str...
 
Computer
ComputerComputer
Computer
 
Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language Processing
 
Software coding and testing
Software coding and testingSoftware coding and testing
Software coding and testing
 
11. abstraction and capsulation
11. abstraction and capsulation11. abstraction and capsulation
11. abstraction and capsulation
 
Phases of-compiler
Phases of-compilerPhases of-compiler
Phases of-compiler
 
2.2. language evaluation criteria
2.2. language evaluation criteria2.2. language evaluation criteria
2.2. language evaluation criteria
 
Programming content
Programming contentProgramming content
Programming content
 
role of lexical anaysis
role of lexical anaysisrole of lexical anaysis
role of lexical anaysis
 
Compiler design
Compiler designCompiler design
Compiler design
 
Ndu06 typesof language
Ndu06 typesof languageNdu06 typesof language
Ndu06 typesof language
 
Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.Compiler vs Interpreter-Compiler design ppt.
Compiler vs Interpreter-Compiler design ppt.
 
La5 Basicelement
La5 BasicelementLa5 Basicelement
La5 Basicelement
 
Programming Fundamentals
Programming FundamentalsProgramming Fundamentals
Programming Fundamentals
 
Training 8051Report
Training 8051ReportTraining 8051Report
Training 8051Report
 

En vedette

Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...
Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...
Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...Dana Moffat
 
Question 1 use, develop or challange conventions
Question 1 use, develop or challange conventionsQuestion 1 use, develop or challange conventions
Question 1 use, develop or challange conventionsmcgeoghann
 
How profitable is the Thriller Genre?
How profitable is the Thriller Genre?How profitable is the Thriller Genre?
How profitable is the Thriller Genre?mcgeoghann
 
When were the following technologies were developed Media
When were the following technologies were developed MediaWhen were the following technologies were developed Media
When were the following technologies were developed Mediamcgeoghann
 
All You Need to Know About Diabetes Type 2
All You Need to Know About Diabetes Type 2All You Need to Know About Diabetes Type 2
All You Need to Know About Diabetes Type 2docblogger
 
Census of coastal bird-brings good news
Census of coastal bird-brings good newsCensus of coastal bird-brings good news
Census of coastal bird-brings good newsDaniela Ogden
 
Fall 2011 newsletter
Fall 2011 newsletterFall 2011 newsletter
Fall 2011 newsletterDaniela Ogden
 

En vedette (8)

Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...
Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...
Paleo Diet For Athletes Recipes The Paleo Diet For Athletes Improves Athletic...
 
Question 1 use, develop or challange conventions
Question 1 use, develop or challange conventionsQuestion 1 use, develop or challange conventions
Question 1 use, develop or challange conventions
 
Bai day1
Bai day1Bai day1
Bai day1
 
How profitable is the Thriller Genre?
How profitable is the Thriller Genre?How profitable is the Thriller Genre?
How profitable is the Thriller Genre?
 
When were the following technologies were developed Media
When were the following technologies were developed MediaWhen were the following technologies were developed Media
When were the following technologies were developed Media
 
All You Need to Know About Diabetes Type 2
All You Need to Know About Diabetes Type 2All You Need to Know About Diabetes Type 2
All You Need to Know About Diabetes Type 2
 
Census of coastal bird-brings good news
Census of coastal bird-brings good newsCensus of coastal bird-brings good news
Census of coastal bird-brings good news
 
Fall 2011 newsletter
Fall 2011 newsletterFall 2011 newsletter
Fall 2011 newsletter
 

Similaire à Abcxyz

Software development slides
Software development slidesSoftware development slides
Software development slidesiarthur
 
Best practices in enterprise applications
Best practices in enterprise applicationsBest practices in enterprise applications
Best practices in enterprise applicationsChandra Sekhar Saripaka
 
Program logic and design
Program logic and designProgram logic and design
Program logic and designChaffey College
 
Coding standards
Coding standardsCoding standards
Coding standardsMimoh Ojha
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty MarketBill Dubie
 
SWE-401 - 9. Software Implementation
SWE-401 - 9. Software ImplementationSWE-401 - 9. Software Implementation
SWE-401 - 9. Software Implementationghayour abbas
 
9. Software Implementation
9. Software Implementation9. Software Implementation
9. Software Implementationghayour abbas
 
Code Review
Code ReviewCode Review
Code ReviewRavi Raj
 
What is algorithm
What is algorithmWhat is algorithm
What is algorithmmshoaib15
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Siddhesh Bhobe
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving TechniquesAshesh R
 
7a Good Programming Practice.pptx
7a Good Programming Practice.pptx7a Good Programming Practice.pptx
7a Good Programming Practice.pptxDylanTilbury1
 
Maintaining Code
Maintaining CodeMaintaining Code
Maintaining CodeKelly Bauer
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introductionRana Ehtisham Ul Haq
 

Similaire à Abcxyz (20)

Software development slides
Software development slidesSoftware development slides
Software development slides
 
Best practices in enterprise applications
Best practices in enterprise applicationsBest practices in enterprise applications
Best practices in enterprise applications
 
Unit iv
Unit ivUnit iv
Unit iv
 
Program logic and design
Program logic and designProgram logic and design
Program logic and design
 
Coding standards
Coding standardsCoding standards
Coding standards
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
SWE-401 - 9. Software Implementation
SWE-401 - 9. Software ImplementationSWE-401 - 9. Software Implementation
SWE-401 - 9. Software Implementation
 
9. Software Implementation
9. Software Implementation9. Software Implementation
9. Software Implementation
 
Code Review
Code ReviewCode Review
Code Review
 
Code review
Code reviewCode review
Code review
 
Year 12 D Course Material
Year 12 D  Course MaterialYear 12 D  Course Material
Year 12 D Course Material
 
What is algorithm
What is algorithmWhat is algorithm
What is algorithm
 
cheatsheet.pdf
cheatsheet.pdfcheatsheet.pdf
cheatsheet.pdf
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
 
Problem Solving Techniques
Problem Solving TechniquesProblem Solving Techniques
Problem Solving Techniques
 
7a Good Programming Practice.pptx
7a Good Programming Practice.pptx7a Good Programming Practice.pptx
7a Good Programming Practice.pptx
 
Maintaining Code
Maintaining CodeMaintaining Code
Maintaining Code
 
Compiler Construction introduction
Compiler Construction introductionCompiler Construction introduction
Compiler Construction introduction
 
Ch05
Ch05Ch05
Ch05
 

Plus de vacbalolenvadi90 (6)

Java day9n
Java day9nJava day9n
Java day9n
 
Quiz test JDBC
Quiz test JDBCQuiz test JDBC
Quiz test JDBC
 
Ass2 1 (2)
Ass2 1 (2)Ass2 1 (2)
Ass2 1 (2)
 
Final
FinalFinal
Final
 
sqlKey
sqlKeysqlKey
sqlKey
 
SQL DdaHKH Huế
SQL DdaHKH HuếSQL DdaHKH Huế
SQL DdaHKH Huế
 

Dernier

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Dernier (20)

Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Abcxyz

  • 1. Algorithmic An algorithm must: Be lucid, precise and unambiguous Give the correct solution in all cases Eventually end Pseudo Code Detailed and readable description (in structured English) of what a computer program or algorithm must do (states the steps to the problem solution) Statements are written in simple English Each instruction/step is written on a separate line Keywords and indentation are used to signify particular control structures Each set of instructions is written from top to bottom, with only one entry and one exit Used as a detailed step in the process of developing a program. It allows designers or lead programmers to express the design in great detail and provides programmers a detailed template for the next step of writing code in a specific programming language *there are six basic computer operations A computer can receive information A computer can put out information A computer can perform arithmetic A computer can assign a value to a variable or memory location A computer can compare two variables and select one of two alternate actions A computer can repeat a group of actions Flowchart Naming Conventions Global data Data that can be used by all the modules in a program Every module in the program can access and change data Lifetime of a global variable spans the execution of the whole program Local data Variable are defined within the submodule are called local variables The scope of a local variable is simply the module in which it is defined The lifetime of a local variable is limited to the execution of the single sub module in which it is defined Coding Library Modules Purpose: To build, construct and/or develop library modules Steps: Create detail design for library modules Code library modules Review code of library modules Fix defects of library modules Coding Functional Modules Purpose: To build, construct and/or develop functional modules Steps: Create detail design for modules and program units, if required in design documents Code modules and program units Review code Fix defects for modules and program units Summarize and submit result to Team Lead Integrate Software Modules Purpose: assemble the software package from the software modules, ensure that the software package, as integrated and functions properly Steps: Create integration plan (if needed) Integrate modules Evaluate integration results, conduct cause analysis, raise change request (if needed)
  • 2. Review and approve results of integration Create System Description Purpose: To develop System Description /User Manual documents that support in software operation Steps: Make overview on system Describe sub-systems and main functions including system structure scheme, flow charts, system interfaces, data flows Describe system requirements including support data, memory capability, CPU and I/O requirements, storage capability, data for internal and external interfaces Describe software structure including library of source codes (for system, sub-systems, objects) library of executive and supporting programs Develop User Manual Review and approve System Description/User Manual Deliver & Summarize Purpose: To deliver software package Steps: Review, do final inspection and summarize software products including documents Deliver to test team Create coding summary report Maintain documents, records Coding Convention - Introduction Be specific to each programming language Recommend programming style, practices, and methods for each aspect of a piece program Common conventions may cover the following areas: file organization, naming conventions indentation, white space, comments, declarations, statements, programming practices, principles, rules of thumb, Etc. Coding Convention - Importance Code conventions are important to programmers for a number of reasons: 80% lifetime software cost is for maintenance People maintain the software may be changed Following coding convention strictly helps: Improve the readability of the software Allowing engineers to understand new code more quickly and thoroughly Some Common Standards Tab and Indent 4 spaces should be used as the unit of indentation Tab characters should be avoided Line Length: avoid lines longer than 80 or 120 characters Wrapping Lines: When an expression will not fit on a single line, break it according to below principles: Break after a comma. Break after a logical operator. Break before an operator. Prefer higher-level breaks to lower-level breaks Comments: beginning, block, single-line, trailing, … Number of declarations per line: same types, different types Some Common Stand Blank Lines improve readability by setting off sections of code that are logically related Two blank lines should always be used: Between sections of a source file Between class and interface definitions One blank line should always be used: Between methods
  • 3. Between the local variables in a method and its first statement Before a block or single-line comment Between logical sections inside a method Blank spaces should be used in the following circumstances A keyword followed by a parenthesis should be separated by a space A blank space should appear after commas in argument lists All binary operators except . should be separated from their operands by spaces Naming Conventions General naming rules: Should be functionally meaningful, & indicate identifier s purpose Use terminology applicable to the domain Identifiers must be as short as possible (<=20 characters) Avoid names that are similar or differ only in case Abbreviations in names should be avoided, etc. Use a noun or noun phrase to name a class or code module Variables names must start with lowercase Constants: named in uppercase letters, might have underscore Method names must start with lowercase letter, usually use  active verb  as the first word of method name Instance /object names follow rules of variable names Code Review A thorough technical & logical line-by-line review of a code module (program, subroutine, method, ..) In a code review, the team would examine a sample of code and fixes any defects in it Codes is inspected to identify possible improvements and ensure that business requirements are met. For example, it could be made more readable or its performance could be improved Review Benefits A different perspective Assess and accelerate progress Pride/reward: more pride, Project/module familiarity Fewer bugs and less rework, Better team communication Team cohesiveness Review Candidates A portion of the software that only one person has the expertise to maintain Code that implements a highly abstract or tricky algorithm An object, library or API that is particularly difficult to work with Code written by someone who is inexperienced or has not written that kind of code before, or written in an unfamiliar language Code which employs a new programming technique An area of the code that will be especially catastrophic if there are defects