Môn này giới thiệu cho sinh viên các khái niệm cốt lõi của lập trình cùng với phần giới thiệu về các thuật toán và đặc điểm của mô hình lập trình. Trong số các chủ đề trong phần này bao gồm: giới thiệu về thuật toán, lập trình hướng đối tượng và hướng sự kiện, các cân nhắc về bảo mật, môi trường phát triển tích hợp và quy trình gỡ lỗi.
INTRODUCTION TO YOUR PROGRAM (P3)
CONTEXT OF THE PROBLEM
I successfully passed the presentation so I could illustrate in the report my fundamental programming and problem-solving abilities The more challenging task is building a fully working application For a specific business problem, security has been built using an IDE and in accordance with coding standards This report provides a summary of the fundamentals of programming in part 2 focuses on object-oriented programming and generalises how to create a thorough application Utilize the programming skills you've gained (procedural, object-oriented, event programming, ) Examine the IDE's app-writing capabilities Compare the use of an IDE against not using one when developing applications to learn advanced programming
I provided the details needed to develop library management software in Assignment 1 I created a simple flowchart of the software's platform for applications and ran various algorithms to address its problems
In assignment 2, I will focus on object-oriented programming and generalises how to create a thorough application, and examine the IDE's app-writing capabilities.
APPLICATION’S REQUIREMENTS
The application must allow the user to input inputs and perform specific CRUD (Create / Read / Update /Delete) actions:
Create: The CREATE operation does what the name implies It means creating an entry This entry could be an account, user information, a post, or a task
Read: The READ operation means getting access to the inputs or entries in the UI That is, seeing it Again, the entry could be anything from user information to social media posts, and others
Update: UPDATE is the operation that allows you to modify existing data That is, editing the data
Delete: DELETE is the operation that is used to remove existing data, data created from CREATE
In my report, I've decided to focus on developing a library management application with a user interface that enables the creation, updating, deletion, and display of the book list through input data
A company's library management system supervises every aspect of its operations This system handles borrowed books, clients borrowing books, and other functions
1 Manager can search for books for a specific DateTime or book information
2 Manager can add books or remove books, and manage the client's information
Figure 1 Function “Remove” helps to delete an item
EXPLAIN PROGRAMMING PARADIGMS (P2)
PROCEDURAL PROGRAMMING
Procedural programming is a programming paradigm built around the idea that programs are sequences of instructions to be executed They focus heavily on splitting up programs into named sets of instructions called procedures, analogous to functions A procedure can store local data that is not accessible from outside the procedure's scope and can also access and modify global data variables
Simply put, Procedural Programming involves writing down a list of instructions to tell the computer what it should do step-by-step to finish the task at hand
Figure 2 What is procedural programming
A predefined function is a function available in a procedural programming language from a library of available functions These functions allow a programmer to complete common tasks without creating the required code themselves This can help a developer save time during production
Figure 3 Function “Remove” helps to delete an item
A local variable is a programming variable that has a local scope of use This means the variable only functions in the function in which the developer defines it Local variables only work in this capacity, so they can cause code to fail, leaving a task unfinished if a professional or user attempts to use the variable in a method outside of its scope
Figure 4 Choice is a local variable used in Main 2.3 Global variable
Global variables increase functionality when local variables are insufficient Developers can use global variables in nearly all functions When defined globally, a variable makes itself available to all methods and functions in the code, allowing the developer to access key data throughout the program's many procedures
Figure 5 Global variables used in many methods, functions
Modularity is a structure in which a developer divides the functionality of its code into a series of smaller blocks The programmer can then call these blocks, often called methods or functions in procedural programming languages, in their code to access them
Figure 6 Function “setInfoBooks” used to add books’ information
Figure 7 Function above is called in Main 2.5 Parameter passing
Parameters are the data values that transfer from each function within a code sequence When using parameter passing, developers place input parameters into a module or device and receive output parameters in return Parameters allow a programmer to assign passed data to variables, equations and commands within a function to complete computing actions on the data
Figure 8 List is passed into function in order to use
OBJECT-ORIENTED PROGRAMMING
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic An object can be defined as a data field that has unique attributes and behavior
OOP focuses on the objects that developers want to manipulate rather than the logic required to manipulate them This approach to programming is well-suited for programs that are large, complex and actively updated or maintained This includes programs for manufacturing and design, as well as mobile applications; for example, OOP can be used for manufacturing system simulation software
Object – An object is an instance of a class Anything that we see are nothing but objects Objects can be anything like pen, car, computer, bike, mobiles, etc If there are objects then they will have properties and behaviours which will differentiate one object from other
Figure 10 Example of object (book) in application
Class – Classes are something which defines an object You can say Class is a blueprint of an Object The class describes all properties and behaviours of an Object Classes define attributes and methods of the objects of their kind
Figure 11 Example of class in application
Inheritance: The ability to create new class from an existing class is called inheritance Let us understand deeply about inheritance by an example
Figure 12 Example of Inheritance in application
Encapsulation: It means hiding data or implementation details of one module from other modules It can also be defined as restricting access to certain properties Encapsulation is a technique which is used for data hiding It is helpful in reducing system’s complexity
Abstraction: It is a process of showing essential feature of the entity by hiding certain important details
It reduces code complexity It is another good feature of oops and used to show the necessary details to the client of the object
Polymorphism: Polymorphism is derived by the combination of two words POLY and MORPHISM Poly means many and Morph means slight change Thus, Polymorphism means having one name with many forms Here we can have methods with the same name but slight change in its functionality.
EVENT-DRIVEN PROGRAMMING
An event-driven program is one that largely responds to user events or other similar input The concept of event-driven programming is an important one in application development and other kinds of programming, and has spawned the emergence of event handlers and other resources
An event-driven program is also known as an event-driven application
Figure 15 Flowchart of even-driven program Advantages
Simplicity: When compared to other types of programming languages, event-driven programming is easier to use Once there is a business requirement, the development of the program is hassle-free
Convenience: Predictive coding is another feature of event-driven programming With the help of languages like visual basic, predictive coding is made possible When the developer is typing the code, relevant suggestions are given
Flexibility: In event-driven programming, there is no specific order from start to finish This order can make it easy to carry out the code In addition to that, this is a type of code that can be altered when necessary If there is a requirement or errors in coding, the code is flexible to be changed
GUI Support: A pre-programmed toolbar in the form of a Graphical User Interface (GUI) is available in event-driven programming From this toolbar, it is able to create more interactive programs For example, tools such as radio buttons are already included
Power Consumption: Implementation of event-driven programming is from hardware interrupts As a result, there is considerably less power consumption
Speed: Event-driven programming is based on GUIs the programs overall execute the reduced performance Especially, if the installed memory is insufficient
Complexity: Event-driven programming is too complex for simple programs The flow of the program and stack management are all that make EDP more complex If it is a small program, it is worth considering other options like batch programming
Resource Utilization: Event-driven programming uses the main loop which is well known to drain system resources Because the main loop is constantly functioning in the background Moreover, due to the usage of GUI, EDP cannot provide an interface unless the required specifications are met
Language Translation: Once a program is written using the EDP language, you cannot translate it to a different language Because some functionalities like buttons are programmed to work only with event-driven programming
Platform Support: Generally, event-driven programming is platform-dependent When a particular program uses EDP, it cannot function on other platforms For example, the program visual basic works using windows library files If the program is moved to a different OS, these files cannot be found
Service oriented is a key feature in event-driven programming that used to write programs that are made for services and it takes does not slow down the computer as service oriented only consume little of the computer processing power and usually services run in the background of
In event driven programming, time driven is a paradigm, it’s a code that runs on a time trigger, time driven can be a specific code that runs on a specific time, which could be once an hour, once a week or once a month, this means it’s a pre-set to do task For example, windows update is the example of time driven, which user can set when to update or when to check and download the update
Event handlers is a type of function or method that run a specific action when a specific event is triggered For example, it could be a button that when user click it, it will display a message, and it will close the message when user click the button again, this is an event handler
Trigger functions in event-driven programming are a function that decide what code to run when there are a specific event occurs, which are used to select which event handler to use for the event when there is specific event occurred
* Although, I haven’t learned about Windown Form yet, so I will just give a simple example to illustrate for “trigger functions”
Events include mouse, keyboard and user interface, which events need to be triggered in the program in order to happen, that mean user have to interacts with an object in the program, for example, click a button by a mouse, use keyboard to select a button and etc
Event-driven programming is generally used in three cases:
When programming games in which a set of objects carries out control flow
When creating server applications, it is undesirable to spawn service processes if, for one reason or another
When building user interfaces, including graphical ones.
CONCLUSION
This section will provide an example of a C# library management software that was developed utilizing the OOP approach
Classes: A class is a user-defined data type that can be accessed and used by creating an instance of that class It has its own data members and member functions A class is comparable to an object’s blueprint Both member functions and data members are found in classes The data members inside the class are manipulated using these member functions.
For example, I also used one of my classes named “Client” including may properties such as NameOfClient or PhoneNumber
Encapsulation: Encapsulation is the process of grouping functions and data into a single entity To access these data members, the member function’s scope must be set to
“public,” while the data members’ scope must be set to “private.” According to this theory, an item contains all important information; only a small subset is made available to the outside world Each object has a private class that contains its implementation and state.
Inheritance: In its broadest sense, inheritance refers to the process of gaining properties One object in OOP inherits the properties of another Developers can reuse common functionality while retaining a distinct hierarchy by assigning relationships and subclasses between items This characteristic of OOP speeds up development and provides more accuracy by requiring a more in-depth investigation of the data The parent-child relationship is symbolized via inheritance.
V EVALUATE THE SOURCE CODE IN TERMS OF CODE STRUCTURE AND
The object-oriented programming paradigm must be used logically while comprehending the key benefits and capabilities offered by the model Classes, objects, functions, methods, properties, interfaces, etc are some of these The protagonists who try to resolve disputed issues are the topics The relationship between features must be established by factors like inheritance, encapsulation, abstraction, etc
The human ability to provide the computer instructions, such as program structure, variable declaration, loop constructions, statements, and functions, is made possible by the C# programming language The attributes and features of the source code produced in the C# programming language also serve as a highly clear and understandable expression of the object-oriented programming approach
A computer program typically has the following elements:
Overall, type of program, there is always a structure or format in which the programmer develops programs A well-organized program uses suitable information structures and formats
A variable is used to store values at run time or time of execution Some programming languages give flexibility to the programmer to avoid variable declaration, but a good programming language must have a proper variable declaration method
Looping in computer programming is used to repeat statements, under a given condition There are many types of loops with minor differences in different computer programming languages Loops will keep executing until the exit condition is met
A control structure is a slab in computer programming that examines variables and chooses the execution direction in which to go, based on given parameters or conditions
In computer programming, when a programmer writes a program they use programming notation in an expository Thus, it is important that the notation has a sentence structure that can be easily expressed.
IDE FEATURES (P4-M2-M3-M4)
DEFINITION (P4)
An integrated development environment (IDE) is software used to build applications One of the key benefits of an IDE is that it consolidates the most common developer tools in a single graphical user interface The software typically consists of a source-code editor, a compiler, and a debugger, plus a range of build automation tools
Without an IDE, software developers would need to pick, deploy, integrate, and independently manage the aforementioned tools, which perform a variety of tasks By using either an open- source or commercial IDE, developers have instant access to set of integrated tools that streamline software development and eliminate coding mistakes and typos Developers can access an IDE either as a standalone application or as part of a larger package offering
Figure 20 Interface of visual studio when having no errors
Figure 21 Interface of visual studio when having error or bug
IDE FEATURES (M2)
Syntax Highlighting is a very common feature in IDEs It highlights code in different colors or fonts, depending on a specific category of terms This feature makes code much easier to read and work with Syntax Highlighting also makes the implementation of code easier, as highlighting is done in real-time, which means errors can be detected much more easily
Figure 23 Example of systax highlighting in C#
When the IDE knows your programming language, it can anticipate what you’re going to type next! In an IDE, we might see System as an autocomplete option after only typing Lis This saves keystrokes so the programmer can focus on the logic in their code
Figure 24 Example of autocomplete in C#
An integrated debugger, support for setting breakpoints in the editor, and visual depiction of steps are all features of IDEs that are used for debugging
Figure 25 Example of debugging in C#
Refactoring is the process of making changes to your code without compromising its functionality The extract refactoring technique, for example, can be used to convert a code fragment into a method The IDE moves the extracted code outside of the current method, calculates the required parameters, creates local variables if needed, determines the return type, and replaces the code fragment with a call to the new method
Figure 26 Example of refactoring in C#
To find class and function declarations, usages, variable and field read/write, etc., IDEs may include extensive functionality for code search IDEs can employ a variety of user interfaces, including as form-based widgets and interfaces based on natural language, for code search
Figure 27 Example of code searching in C#
USING IDE TO MANAGE THE DEVELOPMENT PROCESS (M3)
Upon starting the IDE software the programmer usually indicates the file he or she wants to open for editing as source code As they make changes they might either do a “save as” or “save” When they have finished entering the source code, they usually direct the IDE to “compile & run” the program The IDE does the following steps:
If there are any unsaved changes to the source code file it has the test editor save the changes
The compiler opens the source code file and does its first step which is executing the pre- processor compiler directives and other steps needed to get the file ready for the second step The #include will insert header files into the code at this point If it encounters an error, it stops the process and returns the user to the source code file within the text editor with an error message If no problems encountered it saves the source code to a temporary file called a translation unit
The compiler opens the translation unit file and does its second step which is converting the programming language code to machine instructions for the CPU, a data area, and a list of items to be resolved by the linker Any problems encountered (usually a syntax or violation of the programming language rules) stops the process and returns the user to the source code file within the text editor with an error message If no problems encountered it saves the machine instructions, data area, and linker resolution list as an object file
The linker opens the program object file and links it with the library object files as needed Unless all linker items are resolved, the process stops and returns the user to the source code file within the text editor with an error message If no problems encountered it saves the linked objects as an executable file
The IDE directs the operating system’s program called the loader to load the executable file into the computer’s memory and have the Central Processing Unit (CPU) start processing the instructions As the user interacts with the program, entering test data, he or she might discover that the outputs are not correct These types of errors are called logic errors and would require the user to return to the source code to change the algorithm
Despite our best efforts at becoming perfect programmers, we will create errors Solving these errors is known as debugging your program The three types of errors in the order that they occur are:
There are two types of compiler errors; pre-processor (1st step) and conversion (2nd step) A review of Figure 1 above shows the four arrows returning to the source code so that the programmer can correct the mistake
During the conversion (2nd step) the compiler might give a warning message which in some cases may not be a problem to worry about For example: Data type demotion may be exactly what you want your program to do, but most compilers give a warning message Warnings don’t stop the compiling process but as their name implies, they should be reviewed.
EXPLAINATION AND EVALUATION OF DEBUGGING PROCESS (P4-M4)
1 Explaination of debugging process in the IDE used (P4)
The IDE will notify you that there is an error in your program, it can be showed with the cause and location so that you can rely on that and fix it o The IDE will check and highlight the faulty parts and give suggestions to fix the error o Another way, the IDE will log the error and error information, it shows where the error is and how to fix it
Figure 28 Interface of C# when having errors
Breakpoints are an essential feature of reliable debugging You can set breakpoints where you want Visual Studio to pause your running code so you can look at the values of variables or the behavior of memory, or know whether or not a branch of code is getting run
Figure 29 Interface of C# when setting a breakpoint
Programmers utilize the process of debugging to not only correct errors in their code but also to gain a deeper understanding of the software they are working with So another ability used to assess a programmer's competency is debugging
2 Evaluate how debugging process can be used to increase more secure
Identify the Error: A bad identification of an error can lead to wasted developing time It is usual that production errors reported by users are hard to interpret and sometimes the information we receive is misleading It is import to identify the actual error
Find the Error Location: After identifying the error correctly, you need to go through the code to find the exact spot where the error is located In this stage, you need to focus on finding the error instead of understanding it
Analyze the Error: In the third step, you need to use a bottom-up approach from the error location and analyze the code This helps you in understanding the error Analyzing a bug has two main goals, such as checking around the error for other errors to be found, and to make sure about the risks of entering any collateral damage in the fix
Prove the Analysis: Once you are done analyzing the original bug, you need to find a few more errors that may appear on the application This step is about writing automated tests for these areas with the help of a test framework
Cover Lateral Damage: In this stage, you need to create or gather all the unit tests for the code where you are going to make changes Now, if you run these unit tests, they all should pass.
DEVELOPING APPLICATION USED IDE and ONE WITHOUT IDE (D3)
Debugging is important because it allows software engineers and developers to fix errors in a program before releasing it to the public It's a complementary process to testing, which involves learning how an error affects a program overall If you examine each section of code, you can discover which variables and functions to adjust systematically Debugging can also improve the quality of a product, which may increase the number of sales or positive reviews a company receives
V Developing applications using an IDE versus one without using an IDE (D3)
1 Evaluation of developing application using IDE
An integrated development environment or IDE is a software platform that facilitates the creation of other software applications by providing a space to write, compile, and debug code, sometimes with value-adding tools that reduce development efforts The reasons why IDEs are so useful for programmer will be showed, specifically the IDE on Visual Studio:
Microsoft Visual Studio is an integrated development environment (IDE) for creating programs with graphical user interfaces and consoles It also supports websites, web apps, online services, and Windows Forms and WPF applications Visual Studio has a code editor that supports IntelliSense (the component for code completion) and code refactoring Additional installed tools include an integrated debugger, a code profiler, a GUI designer, a web developer, a class designer, and a database schema designer
Code Editor: This is the core component of IDE, where a programmer will write the software code On the surface, it looks similar to a text editor, but there are several functionalities underneath to simplify the process of writing code For example, the editor component of IDE may predict what you are about to write and autocomplete a command
The compiling engine: IDEs have a built-in compiler that runs the code within the same environment to check if it works Typically, the compilation results open in a separate interface within the same IDE platform, and one can switch between the code editor and the compiler seamlessly
Debugging tools: IDEs have essential testing tools that detect application errors and the source code level Importantly, it may not be able to see logical flaws but can flag code- writing errors such as incorrect commands, missing variables, issues with syntax, etc An integrated development environment highlights the precise location of the error so that the programmer may debug the code easily
Class and object browser: When using object-oriented programming (OOP), the IDE may include a tool for inspecting objects and object-oriented classes within the program It may even visualize the hierarchy of classes and allow developers to reuse objects more efficiently
Build automation: Build automation is the process of preparing software code for execution While one can have a separate build environment, some IDEs provide ready- to-use build automation tools This helps to package the code for implementation after one finished writing
Despite these advantages that render integrated development environments highly essential to businesses, there are a few things to keep in mind While application security is a top concern for developers, handling security testing in an IDE can be very difficult In addition, it is difficult for young engineers to master an IDE in addition to coding In addition, sometimes complex coding techniques and shortcuts obfuscate essential but everyday language nuances When studying a new language, paying close attention to minor details is vital Utilizing an IDE may make it more challenging to learn a new language.
2 Evaluation of developing application without using IDE
There will no more distractions Single toolbar and some text editing options are the things you really interested now
After saving your programming in the text editor, compile and run the program from command prompt It will give you a true sense of programming and execution flow
Not having auto-completion feature with the text editor, you will be grounded and taught yourself what to write on next line of the code This thought process is the must thing one should hone for learning and mastering any programming language
We are not using auto-completion feature, and we humans do mistakes When you compile your program through command prompt, you may get the code syntax or semantic error Analysing and fixing these bugs improve your debugging skill
You can ask any experienced programmer or developer, they spend most of the time debugging defects and fixing, rather than writing first-hand code Developing debugging skill makes your career go rosy.
You will not have a compiler that can point out syntax errors
You can’t run the code, tweak it, and revise it until it works
You cannot run test cases against your code
You can’t step through your code in a debugger.
DESIGN AND IMPLEMENTATION (P3-P5-D4)
WRITE A PROGRAM
In this report, I just show what I have upgraded for my program and other parts I showed in Assignment 1
+ If it is true, run function “Show all books” + if it is false, run to the next step
+ If it is true, run function “Show all clients” + if it is false, run to the next step
+ If it is true, run function “Import a new book” + if it is false, run to the next step
+ If it is true, run function “Search books” + if it is false, run to the next step
+ If it is true, run function “Borrow a book” + if it is false, run to the next step
+ If it is true, run function “Delete book” + if it is false, run to the next step
+ If it is true, run function “Delete client”
+ if it is false, run to the next step
Step 1: Start Step 2: Declare variable bookRemoved Step 3: Enter book’s title
Step 4: Create a loop to check every single book + If it is true, run to next step
+ if it is false, end the function
Step 5: Compare bookRemoved and Title of every book in list
+ If it is true, remove all info of this book + if it is false, run to the step 4
Figure 32 Flowchart of removing book
Step 2: Declare variable nameClientDelete and numberClientDelete
Step 3: Enter Name and Number of the client Step 4: Create a loop to check every single clinet + If it is true, run to next step
+ if it is false, end the function
Step 5: Compare nameClientDelete to NameOfClient
And numberClientDelete to NumberOfClient + If it is true, remove all info of this client + if it is false, run to the step 4
Figure 33 Flowchart of removing client
Figure 34 Function of removing book
The function fulfills the request of option 6 That is to remove the book with the title we want and then the book’s information such as author or category will be deleted.
Figure 35 Function of removing client The function fulfills the request of option 7 That is to remove the client with the title we want and then the client’s information such as name or phone number will be deleted.
Firstly, I will choose option 1 to show all books in the library I do it first for you to compare before and after removing book
Then, I will choose option 6 (removing book) at this point, the program will require me to enter the title of book to remove, so I will enter the book’s title I want to remove
Finally, the program annouces that the book has been deleted Thanks to the announcement, I know that the book was deleted To check it, I choose option 1 again to show all books You can see, the book I deleted was removed.
Figure 36 Illustration of books after removing
Firstly, I will choose option 1 to show all clients who borrowed books in the library I do it first for you to compare before and after removing client
Then, I will choose option 7 (removing client) at this point, the program will require me to enter the name and phone number of client to remove, so I will enter the client’s name and phone number I want to remove
Finally, the program annouces that the client has been deleted Thanks to the announcement, I know that the client was deleted To check it, I choose option 1 again to show all clients You can see, the cleint I deleted was removed.
Figure 37 Illustration of clients after removing
EXPLAINATION and EVALUATION CODING STANDARD (P5)
Code standards are rules, techniques, and guidelines to create cleaner, better readable, and more efficient code with minimal bugs and errors In addition, they offer a uniform way for developers to build highly functional code
Remember that coding standards are not personal opinions; they are concrete rules determining your code’s programming style, procedures, and methods Therefore, they need to be explicitly defined and made available to developers
Coding standards make sure all developers follow specified guidelines As a result, every developer – even newcomers – can easily understand, debug and maintain the code Ideally, your team’s source code should look like it was written by a single developer in a single session
2 C# CODING STANDARD AND NAMING CONVENTIONS
Apart from the hard and fast rules that we get with every programming language, there are also conventions These are sets of standards that are generally accepted by the majority of developers out there
Among all sorts of conventions, naming conventions are some of the most common Because as programmers, we name a lot of things Such as variables, functions, classes, methods, interfaces and so on
Throughout the years, developers have used different case types to name different entities in their code
2.1 Use Pascal Casing for class names and method names
Names in pascal case start with a capital letter In case of the names with multiple words, all words will start with capital letters
Figure 38 Example of class name
Figure 39 Example of method name
2.2 Abbreviations should be avoided Abbreviations often used as names, such as
Id, Info, Ceo, and so on, are exceptions
Abbreviation: a short form of a word or phrase
2.3 Vertically align the braces so that they are reasonable
Figure 43 Example of variables’ names
Code standards are rules, techniques, and guidelines to create cleaner, better readable, and more efficient code with minimal bugs and errors In addition, they offer a uniform way for developers to build highly functional code
Remember that coding standards are not personal opinions; they are concrete rules determining your code’s programming style, procedures, and methods Therefore, they need to be explicitly defined and made available to developers
Coding standards make sure all developers follow specified guidelines As a result, every developer – even newcomers – can easily understand, debug and maintain the code Ideally, your team’s source code should look like it was written by a single developer in a single session
There are some guidelines and prototypes which developers need to follow for the coding standard procedure Writing good quality code is the major task while developing any software It’s an essential investment for your project rather than a time-consuming task It’s an essential way to lower technical debt When the code is neat and clean, it’s easy to understand, maintain and extend Any good quality code which is readable and consistent is easier to review, which in turn leads to a low maintenance effort This is one of the crucial activities of any software maintenance service
Enhanced Efficiency: As we can see, developers spend more of their time-solving issues rather than developing the original code This time could have been saved in the first place if we had written a neat and clean code and applied some coding formats and standards This helps the developer to save the time which was consumed in solving issues throughout the development process
Easy to Maintain: If you follow the proper coding standard then the developed code would be more consistent and easier to maintain Since we make it easỉe to understand, we can modify it at any point in time by any developers
Bug Rectification: If the code is developed in an appropriate manner, then it becomes easy for any developer to identify the bugs and fix them in the web application or software
Cost-Effective: Clean code allows developers to reuse it whenever required Eventually, this can reduce the cost and effort for the development that leads to complete the tasks very quickly.
WHY CODING STANDARD IS NEEDED FOR TEAM AND INDIVIDUAL (D4)
Figure 44 Ilustration of coding standards
A coding standard is required because, in a software development company, they provide the following advantages:
The source code will be easier to maintain and more thorough As they apply coding standards in project after project, programmers grow more and more used to the coding style
Due to the fact that coding standard papers outline the suggested solutions that have been tried and proven on prior projects, an uniform approach to problem-solving would be beneficial
The need for communication between the management and developer arises from the fact that the programmer will no longer be questioned on the specifics of the specification document After all, the coding standards specify the defaults
For the quality assurance team:
The development of the "Test Script" will be supported by the stated coding standards Strong guidance is included after inspecting the source code and evaluating an application's adherence to coding standards in order to assure the quality of software products
The quality of the source code used in a project needs to be protected and maintained by the project manager This objective can be started halfway through its accomplishment by the adoption of coding standards
Performance problems may be avoided A frequent occurrence occurs when actual data is placed into a newly constructed database application, a software product that has already been launched may perform less impressively
Waraich, K Procedural Programming: Everything You Need To Know [Online]
Available at: https://en.wikipedia.org/wiki/Procedural_programming
Alexander, S object-oriented programming (OOP) [Online]
Available at: https://www.techtarget.com/searchapparchitecture/definition/object-oriented- programming-OOP
Jevtic, G What is SDLC? Phases of Software Development, Models, & Best Practices [Online]
Available at: https://aiven.io/blog/introduction-to-event-based-programming
Alexander, S integrated development environment (IDE) [Online]
Available at: https://www.techtarget.com/searchsoftwarequality/definition/integrated-development- environment
Available at: https://www.techtarget.com/whatis/definition/algorithm
RishabhPrabhu What is Algorithm | Introduction to Algorithms [Online]
Available at: https://www.geeksforgeeks.org/introduction-to-algorithms/#:~:text=Save%20Article- ,What%20is%20an%20Algorithm%3F,that%20frequently%20involves%20recursive%20operations%E2%8 0%9D
Chowdhury, F, H Programming Naming Conventions – Camel, Snake, Kebab, and Pascal Case Explained [Online]
Available at: https://www.freecodecamp.org/news/programming-naming-conventions-explained/
Bhadwal, A Procedural programming: Definition, Benefits, Comparison with Other Paradigms [online] Available at: https://www.techstrot.com/procedural-programming/
Anon Learn Coputer Science [Online]