Principles.md - bitreich-style - Style guide for programmers. | |
git clone git://bitreich.org/bitreich-style | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
Principles.md (2077B) | |
--- | |
1 # Principles | |
2 | |
3 Please first see the Bitreich Manifesto at | |
4 | |
5 gopher://bitreich.org/0/documents/bitreich-manifesto.md | |
6 | |
7 | |
8 ## KISP – Keep It Simple Perfect | |
9 | |
10 * Make a project do one thing well. | |
11 * A project can be done, does not need change just because. | |
12 | |
13 ## Commandline Interfaces | |
14 | |
15 * Always add a commandline interface so advanced users can script your | |
16 application and thus have more fun using it. | |
17 | |
18 ## When Possible Use GPLv3 | |
19 | |
20 * Use which license you like, but think of the future, when people might | |
21 use your software in war or other inhumane things. A life of open source | |
22 is not just about the CV and getting a Google job with a small home, bad | |
23 sex in marriage and a dog. | |
24 | |
25 ## Users are Programmers | |
26 | |
27 * First think of the programmers who might want to change your | |
28 application, help you, find bugs you have not spotted because you made | |
29 the application. Make this as simple as possible to contribute. | |
30 * Some ugly website which requires Gigabytes of RAM and big hardware is | |
31 not a simple access and will only make your own brain in the long run | |
32 fluid. | |
33 * Always add a Makefile using common methodologies and commands so | |
34 people can easily build your software. Do not make a build framework for | |
35 every new project. Make(1) knows most things needed, you may not have | |
36 read the documentation properly. | |
37 | |
38 ## Straightforward Documentation | |
39 | |
40 * When compiling software you realize, that people are using all kind of | |
41 bloated tools to generate documentation. Please do not be like that. | |
42 Think of all the people having to compile this to get your application. | |
43 Use what is more descriptive and easy to use: Man pages, a text or the | |
44 source. | |
45 | |
46 ## Applications Can Be Done | |
47 | |
48 * If your application does what it should do, but suddenly you have a | |
49 new big idea, make a new project, do not push the old one. There are old | |
50 users who do not think the same as you. | |
51 | |
52 ## Freedom Of Language | |
53 | |
54 * Use whatever language you like. | |
55 * Think of the dependencies. If you use slow to compile languages, you | |
56 will waste hours of lifetime of others. Do not be an asshole to those | |
57 people. | |
58 |