|
|
Principles.md - bitreich-style - Style guide for programmers. |
|
|
 |
git clone git://bitreich.org/bitreich-style (git://bitreich.org) |
|
|
 |
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 |
|