Programming:Glossary

From Post-Apocalyptic RPG wiki

Jump to: navigation, search

Glossary.png This article is a glossary!

This article lists agreed upon terms to ease communication. Glossary articles are primarily targeted at the developers of PARPG; either developers of a specific department or the whole team in general.

This article is the glossary of the programming department.

Programming terms

Boilerplate Code
A piece of code that needlessly duplicates some functionality used elsewhere, usually with minor differences. The usual way of dealing with boilerplate code is to refactor the code into a function or method with parameters that deal with the differences.
Code Design Workflow
See Code_design_workflow.
Code Proposal
See Code_proposals.
Code style
The way in which code is written and formatted, most notably in the use of whitespace. Most programming languages have a flexible syntax and grammar, allowing the same functional piece of code to be written in multiple (more or less valid) ways. Code style standards exist to keep code consistent across one or more projects and minimize the effort required by programmers to read the code.
Commit comments guidelines
See Commit comments guidelines.
Development environment
Set of tools and programs available on your computer used to write, analyze and debug code.
Grammar
The set of rules that govern how a programming language is written, including syntax.
Hard-coded Value (AKA Magic Number)
Usually some primitive datatype, such as a string containing a file path or an integer defining some multiplier, that is not assigned to a variable but used as a function parameter or to construct a more complex variable. The problem with hard-coded values is that it can quickly lead to boilerplate code that is needlessly duplicated, making it more difficult to extend the code later. Variable names also help document the code's intended function, so if in doubt it's always better to assign values to variables even if they are used only once.
Integrated development environment (or IDE)
A single program or suite of programs designed to work with each other that forms a "complete" programming development environment. Examples include Eclipse, WingIDE, CodeBlocks, Emacs, etc.
Library
A collection of variables, functions and classes that serve a collective purpose, usually stored as a compiled file with a .so or .a extension on Unix systems and .dll on Windows systems. A shared library (also known as a dynamic link library on Windows) is a library that can be accessed by a program at runtime, while a static library must be explicitly linked into a program.
Refactor
A general term that describes a range of activities related to code (re-)organization, usually with the goal of simplifying existing code and making it more modular (e.g. removing boilerplate code and replacing it with a more general solution).
Runtime environment (or environment)
Usually used to refer to the type of operating system installed on your computer and the number, type and versions of shared libraries required by a particular program to run. May also refer to your computer's hardware, in particular your CPU's processing speed, number of cores, machine architecture (64-bit versus 32-bit), type of GPU and amount of dedicated graphics memory, and the amount and type of system RAM.
Syntax
The set of rules governing how the symbols and statements defined by a particular programming language may be used together to create programs.
Unit Test
A piece of code that "tests" the actual behavior of a unit of code against what you expect that unit of code to do. In Python unit tests are generally written using the ubiquitous unittest module (AKA PyUnit), and test the behaviour of functions and class methods.
Personal tools