0% found this document useful (0 votes)
55 views24 pages

6 Chp6 Lecture Notes

The document discusses coding standards and guidelines. It defines coding standards as a set of guidelines for programming style, naming conventions, formatting and best practices. It states that organizations develop their own coding standards to maintain uniform code appearance and enhance code understanding. The document then provides examples of specific coding standard rules and guidelines related to variables, headers, error handling, documentation and more. It also discusses code reviews as a way to reduce errors through code walkthroughs and inspections.

Uploaded by

mubarek muhammed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views24 pages

6 Chp6 Lecture Notes

The document discusses coding standards and guidelines. It defines coding standards as a set of guidelines for programming style, naming conventions, formatting and best practices. It states that organizations develop their own coding standards to maintain uniform code appearance and enhance code understanding. The document then provides examples of specific coding standard rules and guidelines related to variables, headers, error handling, documentation and more. It also discusses code reviews as a way to reduce errors through code walkthroughs and inspections.

Uploaded by

mubarek muhammed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Wollo University

college of Informatics
Fundamentals of Software Engineering
Course Code:CoSc3061

1 05/27/23
Chapter-6

Coding

2 05/27/23
Coding Standards

Coding standards are a set of guidelines, best practices,


programming styles and conventions that developers hold
to when writing source code for a project.
Good software development organizations normally require
their programmers follows to some well-defined and
standard style of coding called coding standards.

3
2
Coding Standards.. Cont.
 Most software development organizations prepare their
own coding standards that suit them most, and require
their engineers to follow these standards strictly.
 The purpose of requiring all engineers of an organization
to remain to a standard style of coding is the following:
 A coding standard gives a uniform appearance to the codes
written by different engineers.
 It enhances code understanding.

 It supports good programming practices.

4
2
4 05/27/23
Coding Standards….. Con‘t
 A coding standard lists several rules to be followed such as, the
way variables are to be named, the way the code is to be laid out,
error return conventions, etc.
 The following are some representative coding standards

Rules for limiting the use of global


 These rules list what types of data can be declared global and what cannot.
 Naming conventions for global & local variables & constant identifiers
 A possible naming convention can be that global variable names always start
with a capital letter, local variable names are made of small letters, and
constant names are always capital letters.

5
2
5 05/27/23
Coding Standards ->Cont
Contents of the headers preceding codes for different
modules
• The information contained in the headers of different
modules should be standard for an organization.
• The exact format in which the header information is
organized in the header can also be specified.

6 2

Darshan Institute of Engineering &


6 Technology 05/27/23
Coding Standards ..Cont

Sample Header
/**

* MyClass <br>
* purposes. <br>
* This class is merely for illustrative
*
* Revision History:<br> <br>
* 1.1 – Added javadoc headers
* 1.0 - Original release<br>
*
* @author P.U. Jadeja
* @version 1.1, 12/02/2018
*/
public class MyClass {
...
}

7
2
7 05/27/23
Coding Standards ..Cont
Error return conventions and exception handling
mechanisms:
The way error conditions are reported by different functions
in a program are handled should be standard within an
organization.
For example, different functions while encountering an error
condition should either return a 0 or 1 consistently.

8
2
8 05/27/23
Coding Guidelines
 The following are some representative coding guidelines
 Do not use a coding style that is too clever or too difficult to
Understand.
 Avoid unclear side effects.
 Do not use an identifier for multiple purposes.
 The code should be well-documented.
 The length of any function should not exceed 10 source lines.
 Do not use go-to statements.

goto
Do not use
9
2
9 05/27/23
Coding guidelines…. Cont

 Do not use a coding style that is too clever or too


difficult to understand:
 Code should be easy to understand.

 Many inexperienced engineers actually take pride in writing

secret and incomprehensible code.


 Clever coding can unclear meaning of the code and hamper

understanding.
 It also makes maintenance difficult.

10 05/27/23
Coding guidelines…. Cont.
 Avoid obscure side effects:
 The side effects of a function call include modification
of parameters passed by reference, modification of
global variables, and I/O operations.
 An obscure side effect is one that is not obvious from a
informal examination of the code.
 Obscure side effects make it difficult to understand a
piece of code.
 For example, if a global variable is changed obscurely in
a called module or some file I/O is performed which is
difficult to understand from the function’s name and
header information, it becomes difficult for anybody
trying to understand the code.

11 111 05/27/23
0
Coding guidelines…. Cont.

Do not use an identifier for multiple purposes

Use of a variable for multiple purposes can lead to confusion

and make it difficult for somebody trying to read and

understand the code.

Use of variables for multiple purposes usually makes future

enhancements more difficult.

12 05/27/23
Coding guidelines…. Cont .
The code should be well-documented:

 As a rule of thumb, there must be at least one comment line on the

average for every three-source line.


The length of any function should not exceed 10 source lines:
 A function that is very lengthy is usually very difficult to understand
as it probably carries out many different functions.
 For the same reason, lengthy functions are likely to have excessively
larger number of bugs.
Do not use goto statements:

 Use of goto statements makes a program unstructured and very

difficult to understand.

13 05/27/23
Code Review

14 05/27/23
Code Review
 It is carried out afterthe module is successfully compiled
and all the syntax errors have been eliminated.
 Code Reviews are very cost-effective strategies for
reduction in coding errors and to produce high quality code.

Types of
Reviews

Code Walk Code


Through Inspection

15
1
15 05/27/23
5
Code Walk Through
 It is an informal code analysis technique.
 The main objectives of the walk through are to discover
the algorithmic and logical errors in the code.
 A few members of the development team are given the
code few days before the walk through meeting to read and
understand code.
 Each member selects some test cases and simulates
execution of the code by hand.
 The members note down their findings to discuss these in
a walk through meeting where the coder of the module is
present.

16
1
16 05/27/23
5
Code Inspection
 The aim of Code Inspection is to discover some common
types of errors caused due to improper programming.
 In other words, during Code Inspection the code is
examined for the presence of certain kinds of errors.
• For instance, consider the classical error of writing a
procedure that modifies a parameter while the calling
routine calls that procedure with a constant actual
parameter.
• It is more likely that such an error will be
discovered by looking for these kinds of mistakes
in the code.
 In addition, commitment to coding standards is also
checked.

17
1
17 05/27/23
5
Code Inspection….Cont
Few classical programming errors during code
inspection
Use of uninitialized variables
Jumps into loops
Nonterminating loops
Incompatible assignments
Array indices out of bounds
Improper storage allocation and deallocation
Mismatches between actual and formal parameter in procedure
calls
Use of incorrect logical operators or incorrect precedence
among operators
Improper modification of loop variables

18
1
18 05/27/23
5
Software Documentation
 When various kinds of software products are developed, various
kinds of documents are also developed as part of any software
engineering process e.g.
• Users’ manual,
• Software requirements specification (SRS) documents,
• Design documents,
• Test documents,
• Installation manual, etc
 Different types of software documents can broadly be
classified into the following:
• Internal documentation
• External documentation

19
1
19 05/27/23
5
Internal Documentation
 It is the code awareness description provided as part of the
source code.
 It is provided during suitable module headers and comments
embedded in the source code.
 It is also provided through the useful variable names, module
and function headers, code indentation, code structuring,
use of enumerated types and constant identifiers, use of
user-defined data types, etc.
 Even when code is carefully commented, meaningful variable
names are still more helpful in understanding a piece of code.
 Good organizations ensure good internal documentation by
appropriately generating their coding standards and guidelines.

2
2
20 0 05/27/23
0
External Documentation
 It is provided through various types of supporting
documents.
• Such as users’ manual.
• SRS document.
• Design document.
• Test documents.
 A systematic software development method ensures
that all these documents are produced in an arranged
method.

21
2
21 05/27/23
0
Software Implementation Challenges

There are some challenges faced by the development team


while implementing the software. Some of them are
mentioned below:
Code-reuse - Programming interfaces of present-day
languages are very sophisticated and are equipped huge
library functions.
Version Management - Every time a new software is
issued to the customer, developers have to maintain
version and configuration related documentation.
Target-Host - The software program, which is being
developed in the organization, needs to be designed for
host machines at the customers end.

22 05/27/23
Coding…Summary
 The following coding elements may be defined under coding guidelines of an
organization:
 Naming conventions- It defines how to name functions, variables, constants and global
variables.
 Indenting – The space left at the beginning of line, usually 2-8 whitespace or single tab.
 Whitespace - It is generally omitted at the end of line.
 Operators - Defines the rules of writing mathematical, assignment and logical operators.
For example, assignment operator ‘=’ should have space before and after it, as in “x = 2”.
 Control Structures - The rules of writing if-then-else, case-switch, while until and for
control flow statements solely and in nested method.

23 05/27/23
continue

 Line length and wrapping - Defines how many characters should

be there in one line, mostly a line is 80 characters long.


 Functions - This defines how functions should be declared and

invoked, with and without parameters.


 Variables - This mentions how variables of different data types

are declared and defined.


 Comments - This is one of the important coding components, as

the comments included in the code describe what the code


actually does and all other associated descriptions.
24 05/27/23

You might also like