Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gvanrossum/500lines
500 Lines or Less
https://github.com/gvanrossum/500lines
Last synced: 30 days ago
JSON representation
500 Lines or Less
- Host: GitHub
- URL: https://github.com/gvanrossum/500lines
- Owner: gvanrossum
- License: other
- Fork: true (aosabook/500lines)
- Created: 2014-02-25T15:52:58.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-01-09T16:03:59.000Z (almost 2 years ago)
- Last Synced: 2024-08-04T01:27:49.793Z (4 months ago)
- Language: Python
- Size: 552 KB
- Stars: 305
- Watchers: 17
- Forks: 52
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
*500 Lines or Less*
===================This is the source for the book *500 Lines or Less*,
the fourth in the [Architecture of Open Source Applications](http://aosabook.org) series.
As with other books in the series,
all written material will be covered by the Creative Commons - Attribution license,
and all code by the MIT License:
please see the [license description](LICENSE.md) for details.
In addition,
all royalties from paid-for versions will all go to Amnesty International.Mission
-------Every architect studies family homes,
apartments,
schools,
and other common types of buildings during her training.
Equally,
every programmer ought to know how a compiler turns text into instructions,
how a spreadsheet updates cells,
and how a browser decides what to put where when it renders a page.
This book's goal is to give readers that broad-ranging overview,
and while doing so,
to help them understand how software designers think.Contributions should not focus on the details of one algorithm
or on the features of a particular language.
Instead,
they should discuss the decisions and tradeoffs software architects make when crafting an application:* Why divide the application into these particular modules with these particular interfaces?
* Why use inheritance here and composition there?
* Why multi-thread this but not that?
* When should the application allow for or rely on plugins,
and how should they be configured and loaded?Contribution Guidelines
-----------------------Writing for a book like this should be fun, so we're trying to keep process to
minimum. Here is our basic set of procedural guidelines:1. When you start coding, try to submit one pull request early (e.g. somewhere
between 50-100 lines), so that we can catch any early problems that we never
thought about.2. After that first commit, feel free to submit pull requests as often or as
infrequently as you like.3. When you are done your "first draft" of your code, do let us know in the
commit message, or by emailing us directly (emails below). We'll assign a
reviewer or two to your work at that time.Contributors
------------
Name
Affiliation
Project
GitHub
Email (if you choose)
Mike DiBernardo
freelance
editorial
@MichaelDiBernardo
[email protected]
Dustin Mitchell
Mozilla
cluster
@djmitche
[email protected]
Audrey Tang
g0v.tw, Socialtext, Apple
spreadsheet
@audreyt
@audreyt
[email protected]
Greg Wilson
Mozilla
web-server
@gvwilson
@gvwilson
[email protected]
Kresten Krab Thorup
Trifork
torrent client
@krestenkrab
@drkrab
[email protected]
Taavi Burns
Points.com
data-store
@taavi
@jaaaarel
[email protected]
Guido van Rossum
Dropbox
crawler
@gvanrossum
@gvanrossum
[email protected]