IFB104 – Building IT Systems

IFB104 Code Presentation Guide

Overview

Writing computer program, scripting or mark-up language code is no different from any other style of writing. Its purpose is to communicate concisely and clearly. Any computer language document must communicate effectively in two ways:

  • Telling the computer what to do. The “executable” part of the program, script or mark-up tells the computer what actions you want performed. We know if this has been done properly if the document gets the computer to do or display what we intended.
  • Informing other programmers. These may be your immediate colleagues if you’re working in a team or someone else who reads your code many months or years from now, perhaps with the intention of modifying or extending your code’s behaviour.

Our concern here is with the second of these. Part of the profession of “building IT systems” is to create a well-presented computer language document. Over the years, programmers have developed style guides and conventions for most pro- gramming, scripting and mark-up languages, and you will be able to find many of these online. For the purposes of IFB104, however, we do not want to be too pre- scriptive. Our main goal is that you follow a consistent style that meets the criteria listed below. The examples below are for Python program code, but the same prin- ciples should be applied to any other code you write, including SQLite scripts and HTML/CSS documents.

General Principles

As a general guide, consider that whether you’re writing a text message, a novel, a technical report or a computer program, there is one rule that always applies:

Whatever is quick and convenient for the author is slow and awkward for the reader.

For instance, frequent use of abbreviations allows you to type quickly, but makes your writing harder to understand. Studies have shown that even expert “texters” are slower to read and comprehend heavily-abbreviated SMS messages than the equivalent English text.

Another important rule, highly relevant to long-lived computer programs that are often modified during their lifetime, is:

Code is written once but read many times.

This means that any extra effort expended during writing will be paid back to us lat- er on.

While these principles are mainly relevant to large-scale software development (ra- ther than small university assignments) our goal is to get you into the habit of think- ing about your code’s presentation at an early stage.

Code Presentation Criteria

You should think of your code’s presentation in terms of the following criteria.

1.   Clear, uncluttered layout

Your code should be laid out neatly and consistently. To a large extent Python pro- grammers are forced to adopt a particular layout because indentation is significant in the language. Nevertheless you should give thought to choices of vertical white space, line breaks and commenting. Many people frown upon overly wide lines, which inhibit readability and make it necessary to scroll back and forth horizontally. In general lines should not be wider than about 80 characters. (You can see the cur- rent column number in the bottom of IDLE’s editing window.)

Consideration should also be given to consistent horizontal spacing, in order to avoid cluttered code and improve its readability. Always put a space after a comma, and surround operators with spaces, e.g., “7 * 9 != 9 + 7”, rather than “7*9!=9+7”. However, don’t include a space between a function/method name and the opening parenthesis.

Lines of related code should be blocked together to improve readability. Blocks can be formed simply by adding appropriate line breaks.

2.   Meaningful choices of variable and function identifiers

You usually have a free choice of variable and function names in your code. You should make good use of this to explain the purpose of the variable or function, i.e., its role in the computation.  Consider the following code segment.

def a(b):

x = len(b) // 2 y = b[:x]

z = b[x:]

return [y, z]

This code is hard to understand because none of the identifiers explain the func- tion’s or the variables’ purposes.

Now consider exactly the same code with well-chosen identifiers.

def split_in_half(text): midpoint = len(text) // 2 first_half = text[:midpoint]

second_half = text[midpoint:]

return [first_half, second_half]

Even without comments this code is now easy to understand. We can see from the function signature that its purpose is to split some text in half. The role of each vari- able is made clear by its name, e.g., the first one finds the midpoint of the given text, and so on. Choosing sensible variable and function names has a dramatic impact on the understandability of your code.

Avoid the use of abbreviations when it comes to variables and function names.

Function/method names should be verbs, or ‘doing’ words which reflect the pur- pose of the function/method. Variable names should reflect the value/s intended to be stored in them.

IMPORTANT NOTE: Some old-fashioned programming languages, and even text- books, encourage the use of single-character identifiers, especially for loop varia- bles, typically ‘i’, ‘j’, ‘k’ and so on. These languages usually do not offer Python’s ability to iterate over all values in a sequence (e.g., a list or string). Thus, where in Python we would write

for letter in word:

print(letter)

to print each letter in a given string, each on one line, older languages force the pro- grammer to introduce an “index” variable and express this computation in a form equivalent to:

for i in range(len(word)): print(word[i])

Notice how much more obscure the second version is. The index variable is unnec- essary and the meaningless choice of identifier ‘i’ is unhelpful. In Python each vari- able introduced has a specific purpose and should be given a name describing the values it contains. Code like the second for loop above, containing unneces- sary, single-character loop variable names, should be avoided.

3.   Concise, helpful commenting

Your program code should be commented to explain features that are not obvious from the code itself. In particular, you can assume that the reader can understand what the code does by inspecting it, but will not necessarily understand why. Your comments should thus explain the purpose of obscure code segments. However, you should not clutter the code with comments that add no helpful information for the reader.

For instance, the following comment is useless and should not be included, because it does not tell us anything we can’t see from the code itself.

amount = amount + 1 # add one to amount

On the other hand, the comment below (taken from one of the IFB104 lecture demonstrations) makes the purpose of the following statements clearer than just the code itself.

# Draw the middle circle penup()

home() pendown() color(“orange”)

dot(middle_radius * 2)

The comment in this case tells us what the code does (but how the code does this job can be seen from the code itself and needs little or no commenting).

A comment should precede (i.e., come before) the relevant code block and be in- dented to the same level as the code to which it refers.

4.   No magic numbers

A “magic number” is a constant in your code whose purpose and choice of value is not immediately apparent. Although the term is normally applied to numerical val- ues, it is equally applicable to any literal value, regardless of its type. Magic num- bers make code harder to understand. They also make code harder to maintain be- cause if the number appears in several places, and we want to change it, then we have to search the code for all of its occurrences.

We can eliminate magic numbers in either of two ways:

  • By explaining the number’s purpose in a comment where it appears.
    • By giving the number a meaningful name.

The first of these is acceptable if the number only appears in a few places in the code. However, if the number is used in several places it is better to name it, be- cause this means only one code change is needed to modify the number.

For example, the following code segment is obscure due to the use of a poor variable name, no commenting and the unexplained magic number ‘7’.

x = (x + 1) % 7

The following version is longer but much clearer.

days_in_week = 7 # days are numbered from 0 to 6

day = (day + 1) % days_in_week # advance to next day

(Observation: Should the ‘1’ in the ‘day’ example above or the ‘2’ in the ‘circle’ ex- ample previously shown be considered as magic numbers? Arguably not because their purpose is very obvious in both cases. The number 1 is clearly being used to

increment variable day and the number 2 is clearly being used to double a radius to produce a diameter. It would clutter the code to give special names to these ‘obvi- ous’ uses. However, if in doubt, it never hurts to add a brief comment. Also, we ac- cept that it’s very difficult to write Turtle graphics code without using a lot of specif- ic numbers for coordinates and distances, so these “magic” numbers are usually ac- ceptable since these numbers are used once only and for a clear purpose, e.g., to go to a specific location on screen.)

5.   No unnecessary duplication of code segments

You should aim to develop as concise a solution as possible.   For instance, we learn in this teaching unit how functions allow us to reuse code segments that would oth- erwise appear more than once in your program. You should aim to use them to eliminate duplicated code wherever possible. Similarly, loops should be used rather then repeating similar code many times.

6.   Correct grammar and spelling

You should present your computer language code as professionally as you would any other document that will be seen by your colleagues. Code that contains spelling and grammatical errors in either the variable/function names or the com- ments gives a poor impression.

Order Now

Get expert help for IFB104 – Building IT Systems and many more. 24X7 help, plag free solution. Order online now!

Universal Assignment (April 19, 2024) IFB104 – Building IT Systems. Retrieved from https://universalassignment.com/ifb104-building-it-systems/.
"IFB104 – Building IT Systems." Universal Assignment - April 19, 2024, https://universalassignment.com/ifb104-building-it-systems/
Universal Assignment September 11, 2022 IFB104 – Building IT Systems., viewed April 19, 2024,<https://universalassignment.com/ifb104-building-it-systems/>
Universal Assignment - IFB104 – Building IT Systems. [Internet]. [Accessed April 19, 2024]. Available from: https://universalassignment.com/ifb104-building-it-systems/
"IFB104 – Building IT Systems." Universal Assignment - Accessed April 19, 2024. https://universalassignment.com/ifb104-building-it-systems/
"IFB104 – Building IT Systems." Universal Assignment [Online]. Available: https://universalassignment.com/ifb104-building-it-systems/. [Accessed: April 19, 2024]

Please note along with our service, we will provide you with the following deliverables:

Please do not hesitate to put forward any queries regarding the service provision.

We look forward to having you on board with us.

Categories

Get 90%* Discount on Assignment Help

Most Frequent Questions & Answers

Universal Assignment Services is the best place to get help in your all kind of assignment help. We have 172+ experts available, who can help you to get HD+ grades. We also provide Free Plag report, Free Revisions,Best Price in the industry guaranteed.

We provide all kinds of assignmednt help, Report writing, Essay Writing, Dissertations, Thesis writing, Research Proposal, Research Report, Home work help, Question Answers help, Case studies, mathematical and Statistical tasks, Website development, Android application, Resume/CV writing, SOP(Statement of Purpose) Writing, Blog/Article, Poster making and so on.

We are available round the clock, 24X7, 365 days. You can appach us to our Whatsapp number +1 (613)778 8542 or email to info@universalassignment.com . We provide Free revision policy, if you need and revisions to be done on the task, we will do the same for you as soon as possible.

We provide services mainly to all major institutes and Universities in Australia, Canada, China, Malaysia, India, South Africa, New Zealand, Singapore, the United Arab Emirates, the United Kingdom, and the United States.

We provide lucrative discounts from 28% to 70% as per the wordcount, Technicality, Deadline and the number of your previous assignments done with us.

After your assignment request our team will check and update you the best suitable service for you alongwith the charges for the task. After confirmation and payment team will start the work and provide the task as per the deadline.

Yes, we will provide Plagirism free task and a free turnitin report along with the task without any extra cost.

No, if the main requirement is same, you don’t have to pay any additional amount. But it there is a additional requirement, then you have to pay the balance amount in order to get the revised solution.

The Fees are as minimum as $10 per page(1 page=250 words) and in case of a big task, we provide huge discounts.

We accept all the major Credit and Debit Cards for the payment. We do accept Paypal also.

Popular Assignments

Assignment: Implement five dangerous software errors

Due: Monday, 6 May 2024, 3:00 PM The requirements for assessment 1: Too many developers are prioritising functionality and performance over security. Either that, or they just don’t come from a security background, so they don’t have security in mind when they are developing the application, therefore leaving the business

Read More »

LNDN08003 DATA ANALYTICS FINAL PROJECT

Business School                                                                 London campus Session 2023-24                                                                   Trimester 2 Module Code: LNDN08003 DATA ANALYTICS FINAL PROJECT Due Date: 12th APRIL 2024 Answer ALL questions. LNDN08003–Data Analytics Group Empirical Research Project Question 2-The project (2500 maximum word limit) The datasets for this assignment should be downloaded from the World Development Indicators (WDI)

Read More »

Microprocessor Based Systems: Embedded Burglar Alarm System

ASSIGNMENT BRIEF 2023/24 Microprocessor Based Systems   Embedded Burglar Alarm System Learning Outcomes This assignment achieves the following learning outcomes:   LO 2 -Use software for developing embedded systems in ‘C’ and testing microcontroller systems including the use of design tools such as Integrated Development Environments and In Circuit Debugger.

Read More »

Imagine you are an IT professional and your manager asked you to give a presentation about various financial tools used to help with decisions for investing in IT and/or security

Part 1, scenario: Imagine you are an IT professional and your manager asked you to give a presentation about various financial tools used to help with decisions for investing in IT and/or security. The presentation will be given to entry-level IT and security employees to understand financial investing. To simulate

Read More »

DX5600 Digital Artefact and Research Report

COLLEGE OF ENGINEERING, DESIGN AND PHYSICAL SCIENCES BRUNEL DESIGN SCHOOL DIGITAL MEDIA MSC DIGITAL DESIGN AND BRANDING MSC DIGITAL DESIGN (3D ANIMTION) MSC DIGITAL DESIGN (MOTION GRAPHICS) MSC DIGITAL DESIGN (IMMERSIVE MIXED REALITY) DIGITAL ARTEFACT AND RESEARCH REPORT                                                                 Module Code: DX5600 Module Title: MSc Dissertation Module Leader: XXXXXXXXXXXXXXXXX Assessment Title:

Read More »

Bsc Public Health and Health Promotion (Top up) LSC LONDON

Health and Work Assignment Brief.                 Assessment brief: A case study of 4,000 words (weighted at 100%) Students will present a series of complementary pieces of written work that:   a) analyse the key workplace issues; b) evaluate current or proposed strategies for managing them from a public health/health promotion perspective

Read More »

6HW109 Environmental Management and Sustainable Health

ASSESSMENT BRIEF MODULE CODE: 6HW109 MODULE TITLE: Environmental Management and Sustainable Health MODULE LEADER: XXXXXXXXX ACADEMIC YEAR: 2022-23 1        Demonstrate a critical awareness of the concept of Environmental Management linked to Health 2        Critically analyse climate change and health public policies. 3        Demonstrate a critical awareness of the concept of

Read More »

PROFESSIONAL SECURE NETWORKS COCS71196

PROFESSIONAL SECURE NETWORKS– Case Study Assessment Information Module Title: PROFESSIONAL SECURE NETWORKS   Module Code: COCS71196 Submission Deadline: 10th May 2024 by 3:30pm Instructions to candidates This assignment is one of two parts of the formal assessment for COCS71196 and is therefore compulsory. The assignment is weighted at 50% of

Read More »

CYBERCRIME FORENSIC ANALYSIS – COCS71193

CYBERCRIME FORENSIC ANALYSIS – COCS71193 Assignment Specification Weighted at 100% of the module mark. Learning Outcomes being assessed by this portfolio. Submission Deadline: Monday 6th May 2024, 1600Hrs. Requirements & Marking Scheme General Guidelines: This is an individual assessment comprised of four parts and is weighted at 100% of the

Read More »

Social Media Campaigns (SMC) Spring 2024 – Winter 2024

Unit: Dynamic Websites Assignment title: Social Media Campaigns (SMC) Spring 2024 – Winter 2024 Students must not use templates that they have not designed or created in this module assessment. This includes website building applications, free HTML5 website templates, or any software that is available to them to help with

Read More »

ABCJ3103 NEWS WRITING AND REPORTING Assignment

ASSIGNMENT/ TUGASAN _________________________________________________________________________ ABCJ3103 NEWS WRITING AND REPORTING PENULISAN DAN PELAPORAN BERITA JANUARY 2024 SEMESTER SPECIFIC INSTRUCTION / ARAHAN KHUSUS Jawab dalam bahasa Melayu atau bahasa Inggeris. Jumlah patah perkataan: 2500 – 3000 patah perkataan tidak termasuk rujukan. Hantar tugasan SEKALI sahaja dalam PELBAGAIfail. Tugasan ini dihantar secara ONLINE. Tarikh

Read More »

ABCM2103 INFORMATION TECHNOLOGY, MEDIA AND SOCIETY Assignment

ASSIGNMENT/ TUGASAN _________________________________________________________________________ ABCM2103 INFORMATION TECHNOLOGY, MEDIA AND SOCIETY TEKNOLOGI MAKLUMAT, MEDIA DAN MASYARAKAT JANUARY 2021 SPECIFIC INSTRUCTION / ARAHAN KHUSUS Jawab dalam Bahasa Melayu atau Bahasa Inggeris. Jumlah patah perkataan : 2500 – 3000 patah perkataan tidak termasuk rujukan. Hantar tugasan SEKALI sahaja dalam SATU fail. Tugasan ini dihantar

Read More »

ABCR3203 COMMUNICATION LAW Assignment

ASSIGNMENT/ TUGASAN _________________________________________________________________________ ABCR3203 COMMUNICATION LAW UNDANG-UNDANG KOMUNIKASI JANUARY 2024 SEMESTER SPECIFIC INSTRUCTION / ARAHAN KHUSUS Jawab dalam Bahasa Melayu atau Bahasa Inggeris. Jumlah patah perkataan : 2500 – 3000 patah perkataan tidak termasuk rujukan. Hantar tugasan SEKALI sahaja dalam SATU fail. Tugasan ini dihantar secara ONLINE. Tarikh penghantaran        :

Read More »

ORGANISATIONAL STRATEGY PLANNING AND MANAGEMENT ASSIGNMENT

POSTGRADUATE DIPLOMA IN BUSINESS MANAGEMENT ORGANISATIONAL STRATEGY PLANNING AND MANAGEMENT ASSIGNMENT NOTE: At postgraduate level, you are expected to substantiate your answers with evidence from independent research. INTRODUCTION TO THE ASSIGNMENT • This assignment consists of FOUR compulsory questions. Please answer all of them. • When you answer, preferably use

Read More »

Solution: Scenario 1, Mirror therapy in patients post stroke

Title: Scenario 1, Mirror therapy in patients post stroke Part 1 : Summary Ramachandran and colleagues developed mirror therapy to treat amputees’ agony from phantom limbs. Patients were able to feel their amputated limb without experiencing any pain by presenting them a mirror image of their healthy arm. Since then,

Read More »

Solution: Exploring the Dominance of Silence

Slide 1: Title – Exploring the Dominance of Silence The title, “Exploring the Dominance of Silence,” sets the stage for a deep dive into the portrayal of silence in Philip K. Dick’s “Do Androids Dream of Electric Sheep?” Our presentation will dissect the literary techniques used by the author to

Read More »

Solution: Assessment: Critical Reflection S2 2023

The policies that hampered the cultural survival of Indigenous groups have a major effect on their health (Coffin, 2007). Cultural isolation can cause an identity crisis and a sense of loss, which can exacerbate mental health problems. Indigenous people have greater rates of chronic illness and impairment due to historical

Read More »

Solution: The Market – Product and Competition Analysis

Section 1: The Market – Product and Competition Analysis Industry and Competition Analysis: The baking mix market is very competitive, but My Better Batch is entering it anyhow. The prepackaged baking mixes sold in this market allow busy people to have bakery-quality products on the table quickly without sacrificing quality

Read More »

Solution: PDCA model for Riot

Student Name: Student ID: University Name: Date: Learning Outcome 1: Engage actively in recognizing a new product/service for Riot and detect the vital tasks required for its effective growth. In this comprehensive learning outcome, Riot’s progress towards innovation superiority is characterized by a deliberate scheme that draws on components from

Read More »

Solution: EDEN 100 – ASSIGNMENT 1

Part 1: Reflections on the Register Variables Use the questions in Column 1 and analyse the sample oral interactions provided under the assessment tile. The transcript for Viv’s conversation is provided on pages 4-5. Probe Questions  Link to readings and theory Interaction 1 Interaction 2 PART 1 – ANALYSING THE

Read More »

Solution: TCP/IP Questions

Table of Contents Question 1. 1 1. IPSec datagram protocol 1 2. Source and destination IP addresses in original IP datagram.. 1 3. Source and destination IP addresses in new IP header 2 4. Protocol number in the protocol field of the new IP header 2 5. Information and Bob.

Read More »

Solution: Fundamentals of Employment Assistance Program and Counselling

ASSESSMENT 3 Subject: Fundamentals of Employment Assistance Program and Counselling Case study Question 1 a)     Major Issues for Theo that could be addressed in counselling: b)    Issues to Address First in Short-Term Counselling:             The cognitive processes of memory, focus, and decision-making are all impacted by insufficient sleep. Such cognitive

Read More »

Solution: EQUITY AND INCLUSION IN EARLY CHILDHOOD IN AUSTRALIA

Written Policy Recommendation Name: Student Number: Email: Date: Introduction: The early years of a child’s life are important for their holistic development, making early childhood education a foundation for their future accomplishments. Nevertheless, guaranteeing equality and inclusion in early childhood education stays a major problem in our society. This policy

Read More »

Solution: Report Health Issue

Table of Contents Executive Summary                                                                                                   3 Introduction                                                                                                                5 Examination of the Chosen Health Issue in the Context of Lambeth                        5 Application of Health Inequality Framework and Analysis of Determinants: Psychotropic Drug Use in Lambeth                                                                           6 Exploration and Discussion of Strategies to Manage Psychotropic Drug Use in Lambeth                                                                                                                        7 Conclusion                                                                                                                  8

Read More »

Solution: Section III: Marketing

Section III: Marketing Channels for Advertising: Understanding Who Makes Baking Product Purchase Decisions is Crucial for My Better Batch’s Business Success (Sampson et al, 2017). Home bakers may make up a disproportionate share of the decision-makers in the UK. As a result, My Better Batch has to target people, especially

Read More »

Can't Find Your Assignment?

Open chat
1
Free Assistance
Universal Assignment
Hello 👋
How can we help you?