---
title: "Features of a good program"
subject: "Computer Programming"
chapter: 1
key: "semester_1/computer_programming:features-good-program"
source: https://www.bctengineer.com/q/semester_1/computer_programming/features-good-program
site: BCT Engineering
---

# Features of a good program

Computer Programming · Chapter 1: Overview of computer software & programming languages

- Asked in: 2071 Chaitra, 3 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_1/computer_programming/features-good-program
- Whole chapter: https://www.bctengineer.com/md/semester_1/computer_programming/chapter-1

## Question

What are the features of a good computer program?

## Short answer

A good program must be correct, readable with proper naming and comments, efficient in time and memory, simple and modular, robust against invalid input, portable across platforms, maintainable with documentation, and user-friendly with clear prompts.

## Answer

A good computer program should have these features:

- **Correctness:** gives the right output for every valid input.
- **Readability:** meaningful variable names, proper indentation and comments make it easy to understand.
- **Efficiency:** uses minimum time and memory.
- **Simplicity and modularity:** divided into small functions, each doing one job, so it is easy to test and reuse.
- **Robustness:** handles invalid input and unexpected cases without crashing (for example, division by zero).
- **Portability:** works on different machines and operating systems with little change.
- **Maintainability and documentation:** easy to modify, extend and debug later.
- **User-friendly:** clear prompts and understandable output messages.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. A program that handles invalid input such as division by zero without crashing is
   A. robust
   B. portable
   C. readable
   D. efficient
   Answer: A. Robustness is handling unexpected cases gracefully. (Key point: Robustness)

2. Which improves readability?
   A. Very short single-letter names only
   B. Meaningful variable names, indentation and comments
   C. Removing all comments
   D. Writing everything in one line
   Answer: B. These make the code easy to understand. (Key point: Readability)

3. Portability means the program
   A. runs fastest possible
   B. uses minimum memory
   C. works on different machines and operating systems with little change
   D. has clear prompts
   Answer: C. Portability is about running on different platforms. (Key point: Portability)

## Related in Computer Programming

- [Steps to develop a computer program](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Asteps-develop-program) — Computer Programming, chapter 2, asked 6×
- [Computer program and programming](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Adefine-program-programming) — Computer Programming, chapter 2
- [Structure of a FORTRAN program](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Afortran-structure) — Computer Programming, chapter 11, asked 5×
- [Correct program: case array and average](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Acorrect-program-case-array) — Computer Programming, chapter 3
- [Correct program: do-while and pow](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Acorrect-program-sum-root) — Computer Programming, chapter 3
- [Correct program: Celsius to Fahrenheit](https://www.bctengineer.com/question.md?key=semester_1%2Fcomputer_programming%3Acorrect-program-celsius-fahrenheit) — Computer Programming, chapter 3

## Related in other subjects

- [Planning and features of good planning](https://www.bctengineer.com/question.md?key=semester_7%2Fproject_engineering%3Aplanning-features-good-planning) — Project Engineering, chapter 3
- [Sabine's formula and good acoustics](https://www.bctengineer.com/question.md?key=semester_1%2Fengineering_physics%3Asabine-formula-acoustic-hall) — Engineering Physics, chapter 3, asked 5×
- [Stored program concept and processing cycle](https://www.bctengineer.com/question.md?key=semester_4%2Fmicroprocessor%3Astored-program-processing-cycle) — Microprocessor, chapter 1, asked 6×
- [Program for normal depth in trapezoidal channel](https://www.bctengineer.com/question.md?key=semester_4%2Fhydraulics%3Aalgorithm-normal-depth-trapezoidal) — Hydraulics, chapter 6
