Mind map
Defensive Design
Map content
Defensive Design
Defensive design helps ensure that programs function properly
- When programs are functioning correctly they should never break and never produce errors
- A whitelist is all of the data that a program should accept
- A blacklist is all of the data that a program should reject
- Programmers try to protect their programs through defensive design
- There are two ways you can prevent users from entering something that you don't want them to
- INPUT SANITATION - removing any unwanted characters before passing data through the program
- INPUT VALIDATION - Checking that data meets certain criteria before passing it into the program
- Authentication helps protect your program
- Authentication can confirm the identity of a user before they are allowed to gain access to certain parts of the program
- Passwords are usually associated with a username. When someone tries to access a protected part of the program it should ask for who their password to confirm identity
- When programs are functioning correctly they should never break and never produce errors
Testing
- Programming errors can be syntax or Logic
- Syntax Error
- When a compiler or an interpreter doesn't understand what something you've typed because it doesn't follow the programming language
- These can be diagnosed by compilers or interpreters - they'll be unable to turn the source code into a machine code and a syntax error will be returned
- Logic Error
- When the compiler or interpreter is able to run the program , but the program does something unexpected
- Logic errors are harder to diagnose and track down- compilers and interpreters will not pick them up
- Syntax Error
- Programming errors can be syntax or Logic
Translators
- Computer languages can either be high level or low level
- Most programming languages are high-level. Its easy for humans to write but computers need to translate it to machine code before they can run it.
- Low level languages are harder for humans to read and write but easier for the computer to run.
- Translators convert programming language into Machine Code
- There are 3 types of translators : assemblers, compilers and Interpreters
- A compiler translates all of the source code at the same time and creates one executable file. Runs quicker
- An interpreter runs the source code one instruction at a time, but doesn't create an executable file. Runs slowly
- Computer languages can either be high level or low level
Integrated Development Environments
- IDE's have lots of features to help programmers
- An integrated development environment is a piece of soft ware that provides features to help a programmer to develop their program
- The code editor is the main part of the IDE, its where the code is written.
- Good code editors will have auto-correct, auto-indentation and auto-complete
- Run- time environment allows the code to be run quickly within the IDE
- Error diagnostics and debugging tools help find and fix errors
- They will tell you the location of the error and suggest a way to fix it
- A GUI helps the programmer design a user interface by building it up graphically rather than having to design it using the source code
- The code editor is the main part of the IDE, its where the code is written.
- An integrated development environment is a piece of soft ware that provides features to help a programmer to develop their program
- IDE's have lots of features to help programmers
Information
- Description
- Mind Map on Defensive Design, created by Leeroy Cheza on 27/06/2019.
- Created by
- Leeroy Cheza
- Views
- 0
- Rating