GoConqr has a new look! Let us know what you think.

Mind map

Defensive Design

Leeroy Cheza English

Map content

Defensive Design

  1. 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
  2. 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
  3. 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
  4. 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

Information

Description
Mind Map on Defensive Design, created by Leeroy Cheza on 27/06/2019.
Created by
Leeroy Cheza
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?