Introduction to Programming Guidelines
Programming involves a great deal of creativity. The design or requirement specification may suggest a programming languages, either directly because it is specified by the designers or customers. Or indirectly because of the constructs used.
In this section we will discuss several guidelines that apply to programming in general regardless of the language. No matter what language is used each program component involves three major aspects control structures algorithms and data structures. Several overall strategies are useful in preserving the design quality in our code. They are:
1. Localizing Input and Output
2. Including
3. Pseudo code
4. Revising and Rewriting not Patching
5. Reuse
Those parts of a program that real input or generate output are highly specialized and must reflect characteristics of the underlying hardware and software. Because of this dependence, the program sections performing input and output functions are sometimes difficult to test. In tact they may be the sections most likely to change if the hardware or software is modified. Therefore it is describable to localize these sections in components separate from the rest of the code.
An added benefit of localization is generalization of the overall system. Other system wide functions to be performed on the input can be included in the specialized component relieving the other components of the burden and thus eliminating repetition. Similarly , putting output functional in one place makes the system easier to understand and change.
2. Including Pseudo code
The design usually lays out a framework for each program component. Then you add your creativity and expertise to build the lines of code that implement the design. Since the design is an outline of what is to be done in a program component it is useful to move in stages from the specified design to the code, rather than to translate the design immediately into code.
Pseudo code can be used to adapt the design to your chosen language. By adopting constructs and data representation without becoming involved immediately in the specifics of each command we can experiment and decide which implementation is more desirable. In this way code can be rearranged and restructured with a minimum of rewriting.
The pseudo code has acted as framework on which to construct the code. In briefing the code from the design in this way notice that the design organization has changed several times. Such changes must be reported to and approved by the designers, so that the links among requirements design and code can be documented and maintained.
3. Revising and Rewriting Not patching
When writing code for the software development we often write a rough draft. Then it is carefully revised and rewritten until satisfied results are not achieved. If it is seen that the decision processes are hard to understand or the unconditional branches are difficult to remove, then it may be time to return to the design. After that the design in re-examined to see whether the problem are related to the design part or in the translation of design to code. So it is checked again that how the data are represented and structure at the algorithms chosen and at the decomposition .
4. Reuse
As such there two kinds of reuse: Producer reuse and consumer reuse producer reuse is that where we are creating components designed to be reused in subsequent applications whereas consumer reuse is that where we are using components that were originally developed for other project. If you are a consumer for your current project:
There are four key characteristics to check about the components to be reused:
1. Does the component perform the function or provide the data you need?
2. If minor modification is required is it less modifications than building the component from scratch?
3. Is the component well documented so that you can understand it without having to verify its implementation line by line?
4. Is there a complete record of the component test and revision history so that you can be certain that it contains no faults?
You must also assess the amount of code need to write so that your system can interface with the reused components. On the hand if you are a producer of reusable components you should keep in mind several things:
Keep the communication and error handling sections separate and easy to modify.
Latest technology based Software Engineering Online Tutoring Assistance
Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Programming Guidelines homework help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Programming Guidelines, project ideas and tutorials. We provide email based Programming Guidelines homework help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Programming Guidelines. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Software Engineering homework help and assignment help services. They use their experience, as they have solved thousands of the software engineering assignments, which may help you to solve your complex issues of Programming Guidelines. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.
tutorsglobe.com absorption of fats assignment help-homework help by online digestion of lipids tutors
Ecology tutorial all along with the key concepts of concepts and Principles in Ecology, Ecosystem, Community, Population, Habitat, Factors which influences in an Ecosystem
tutorsglobe.com significance of krebs cycle assignment help-homework help by online krebs cycle tutors
tutorsglobe.com plasmolysis assignment help-homework help by online absorption and movement tutors
tutorsglobe.com hepatitis g assignment help-homework help by online hepatitis viruses tutors
tutorsglobe.com sucker assignment help-homework help by online sub-aerial modifications tutors
www.tutorsglobe.com offers Data Warehouse homework help, assignment help, case study, writing homework help, online tutoring assistance by computer science tutors.
www.tutorsglobe.com offers Building Blocks in UML homework help, assignment help, case study, writing homework help, online tutoring assistance by computer science tutors.
tutorsglobe.com pathogenesis of vibrio assignment help-homework help by online vibrio tutors
Theory and lecture notes of Lock management in a distributed system all along with the key concepts of deadlock detection, local deadlock, global deadlock. Tutorsglobe offers homework help, assignment help and tutor’s assistance on Lock management in a distributed system.
Holography tutorial all along with the key concepts of Holography-The process, Production of a Hologram, Reconstruction of Image and Applications of Holography
Refraction at Curved Surfaces tutorial all along with the key concepts of Refraction through Lenses, Types of Lenses, Formation of Images by a Convex and concave lens, Applications of the Convex Lens
tutorsglobe.com public expenditure assignment help-homework help by online subject matter of public finance tutors
Proboscidea-Sirenia-Carnivora tutorial all along with the key concepts of Features of Order Proboscidea, Features of Order Sirenia and Features of Order Carnivora
Phylum Annelida tutorial all along with the key concepts of Features of Phylum Annelida, Categorization of Phylum Annelida, Earthworm, Structural Adaptation of Earthworm and Habitat of Earthworms
1941008
Questions Asked
3689
Tutors
1467768
Questions Answered
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!