-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
1,900 changed files
with
262,536 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Logs | ||
*.log | ||
|
||
# Runtime data | ||
pids | ||
*.pid | ||
*.seed | ||
|
||
# Directory for instrumented libs generated by jscoverage/JSCover | ||
lib-cov | ||
|
||
# Coverage directory used by tools like istanbul | ||
coverage | ||
build/coverage.html | ||
|
||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) | ||
.grunt | ||
|
||
# Compiled binary addons (http://nodejs.org/api/addons.html) | ||
build/Release | ||
|
||
# Dependency directory | ||
# Deployed apps should consider commenting this line out: | ||
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git | ||
node_modules | ||
|
||
|
||
.idea/ | ||
/build/coverage.html | ||
/test/fixtures/core/utils/JSONStateHandler/save/ | ||
/src/bin/core/search/elasticsearch-pid | ||
/utils/apacheTikaMimeTypesParser/fileTypes.json | ||
/utils/topologyTestRunner/zmap-results.json | ||
/utils/topologyTestRunner/configBuilder.pyc | ||
*.pyc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "vendor/docstrap"] | ||
path = vendor/docstrap | ||
url = https://github.com/terryweiss/docstrap.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
# Code Styles | ||
|
||
Als Basis für die Code-Style dient die `./codeStyleSettings.xml`. Diese muss in den (ignorierten) `.idea`-Ordner verschoben werden. | ||
|
||
__Für alle Listen in diesem Dokument gilt: Eine Leerzeile zwischen den Items!__ | ||
|
||
## Module | ||
|
||
Module sollten nur bei kleinen, zusammenhängenden Klassen & Interfaces konstruiert werden. Siehe z.B. `./core/config/Config.ts` | ||
|
||
## Interfaces | ||
|
||
Interfaces sind getrennt von den Implementationen in einer `./interfaces/InterfaceName.ts` Datei. | ||
Die Methoden sind alphabetisch geordnet. | ||
|
||
``` | ||
// ./interfaces/FooBar.ts | ||
interface FooBar {} | ||
export = FooBar | ||
``` | ||
|
||
Sollte eine Typescript-Definition __mehr als einmal__ im gleichen Zusammenhang verwendet werden, muss diese in ein eigenes Interface gekapselt werden. | ||
|
||
``` | ||
// Bad: | ||
getConfigKeys():Array<string> | ||
setConfigKeys(keys:Array<string>) | ||
// Good: | ||
interface ConfigKeyList extends Array<string> {} | ||
getConfigKeys():ConfigKeyList | ||
setConfigKeys(keys:ConfigKeyList) | ||
``` | ||
|
||
## Klassen | ||
|
||
Eine Datei pro Klasse. Die Datei exportiert die Klasse direkt. Der Dateiname entspricht dem Klassennamen. | ||
|
||
``` | ||
// FooBar.ts | ||
class FooBar {} | ||
export = FooBar | ||
``` | ||
|
||
Die Datei ist wie folgt aufgebaut: | ||
|
||
1. Interface Imports `<reference path'../InterfaceName.d.ts' />` | ||
2. Node-Core Module Imports `require('net')` | ||
2. Externe Node-Module imports `require('thirdparty-foobar')` | ||
3. Datei-Imports `require('../src/Foo')` | ||
4. Der Kommentar der Klasse | ||
|
||
Eine Klasse ist in die folgenden Gruppen gegliedert, die Mitglieder einer Gruppe sind alphabetisch sortiert. | ||
|
||
1. Properties | ||
2. Statics | ||
3. Constructor | ||
4. Public | ||
5. Private | ||
|
||
|
||
Klassen __erhalten alle Dependencies__ als __Constructor-Injection__. Es wird __niemals eine Implementation erzeugt__ (`new FooBar`). Der letzte Parameter ist ein (optionales) Optionen-Object. | ||
|
||
## Methodennamen | ||
|
||
Methodennamen wenn möglich in die | ||
|
||
## Options | ||
|
||
Optionen sind Interfaces die die Optionen eines Objects in alphabetischer Reihenfolge definieren. | ||
|
||
`interface ObjectNameOptions {}` | ||
|
||
|
||
## Kommentare | ||
|
||
Der TSDoc-Generator analysiert __keinen__ Code und erhält seine Informationen __nur__ aus den Kommentaren. | ||
Dater müssen `@class`, `@interface`, `@member`, `@method` etc. überall angegeben werden. | ||
|
||
Weitere Infos [http://usejsdoc.org/tags-type.html](http://usejsdoc.org/tags-type.html) | ||
|
||
Kommentiert werden in erster Linie die Interface-Methoden. | ||
|
||
### Klassen und Interfaces | ||
|
||
Über der Klasse/dem Interface ist der Kommentar in die folgenden Bereiche eingeteilt: | ||
|
||
1. Ausführliche Beschreibung | ||
2. Beschreibung des Objects (`@class`, `@interface`, `@extends`, `@implements`) | ||
3. Evtl. Beispiel, todo etc. | ||
4. Die Parameter des Constructors | ||
|
||
``` | ||
/** | ||
* Description | ||
* | ||
* @interface | ||
* @class topology.BucketInterface | ||
* @extends utils.ClosableInterface | ||
* | ||
* todo foobar | ||
* @example | ||
* var foo = false; | ||
* | ||
* @param {namespace.InterfaceName} parameterName Description | ||
*/ | ||
``` | ||
|
||
### Properties | ||
|
||
Properties IMMER konstruieren (v8 hidden classes) | ||
|
||
1. Beschreibung des Properties | ||
2. Typ (private, static), Member | ||
|
||
``` | ||
/** | ||
* Description | ||
* | ||
* @private | ||
* @member {namespaced.type} ClassName#_propertyName | ||
*/ | ||
``` | ||
|
||
### Methoden | ||
|
||
1. Beschreibung der Methode | ||
2. Typ (private, static), Member | ||
3. Parameter, Return der Methode | ||
|
||
``` | ||
/** | ||
* Description | ||
* | ||
* @private | ||
* @method ClassName(.#~ static,instance,inner) | ||
* | ||
* @param {namespace.InterfaceName} parameterName Description | ||
* @returns {boolean} Description | ||
*/ | ||
``` | ||
|
||
## Code | ||
|
||
- Aussagekräftige Funktions- und Klassennamen | ||
- Code gegen Interfaces schreiben – nicht gegen Implementationen | ||
- `'` vor `"` | ||
- Leerzeile vor `return` Statement | ||
- Inline-Kommentare beginnen mit `// ` | ||
- __keine__ Kommentare hinter den Code, immer drüber | ||
- __keine__ `if` one-liner | ||
- Eine Leerzeile zwischen Methoden | ||
- Eine Leerzeile vor und nach Loops | ||
- Eine Leerzeile innerhalb der Klasse/Interface, etc. | ||
- Jede Variable mit `var` am Anfang des _Levels_ mit `var typescript:Type` deklarieren – Leerzeile am Ende des Variablen-Blocks. | ||
- Anonyme Funktionen so kurz wie möglich halten _(v8 performance)_ | ||
- Private Methoden/Properties beginnen mit `_` | ||
- Variablen, Methoden, Properties, Klassen, Interfaces, Module und Event-Namen in `lowerCamelCase` | ||
- Bei Vergleichen gegen definierte Primitive steht das Primitive auf der rechten Seite. | ||
|
||
`if (err.code === 'MODULE_NOT_FOUND')` | ||
`if (err.code === 1)` | ||
- Java-Style für Array/Object Deklarationen `Array<string>`, `[key:string]: Object` | ||
|
||
## Error | ||
|
||
- sync: throw Error | ||
- async: (err instanceof Error, res) | ||
- emitter.emit('error', err instanceof Error) | ||
|
||
http://stackoverflow.com/questions/7310521/node-js-best-practice-exception-handling | ||
http://www.nodewiz.biz/nodejs-error-handling-pattern/ | ||
|
||
- Fehler haben das folgende Format: `Class.method: message` | ||
|
||
|
||
## Tests | ||
|
||
Die Tests einer Implementation sollte alle Methoden des Interfaces berücksichtigen. Sie müssen aber nicht in "Test pro Methode" aufgeteilt sein. | ||
|
||
Der Test einer Implementation ist vollständig, sobald min. __95% Coverage__ erreicht sind. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
'use strict'; | ||
|
||
module.exports = function (grunt) { | ||
|
||
grunt.initConfig({ | ||
env: { | ||
test: { | ||
NODE_ENV: 'test' | ||
}, | ||
dev : { | ||
NODE_ENV: 'development' | ||
}, | ||
prod: { | ||
NODE_ENV: 'production' | ||
} | ||
}, | ||
|
||
plato: { | ||
source: { | ||
options: { | ||
exclude: /node_modules|reports|interfaces|namespace\.js|\.json/ | ||
}, | ||
files : { | ||
'build/js-source-analysis-report': ['src/**/*.js'] | ||
} | ||
} | ||
}, | ||
|
||
mochaTest: { | ||
test : { | ||
options: { | ||
reporter: 'spec', | ||
require : 'test/config/coverage_blanket', | ||
quiet : false | ||
}, | ||
src : ['test/**/*.js'] | ||
}, | ||
coverage : { | ||
options: { | ||
reporter : 'html-cov', | ||
quiet : true, | ||
captureFile: 'build/coverage.html' | ||
}, | ||
src : ['test/**/*.js'] | ||
}, | ||
'travis-cov': { | ||
options: { | ||
reporter: 'travis-cov' | ||
}, | ||
src : ['test/**/*.js'] | ||
} | ||
}, | ||
|
||
// monitors the compiled .js files so that external builders (e.g. WebStorm) trigger restart | ||
nodemon : { | ||
dev: { | ||
options: { | ||
file : 'app/main.js', | ||
watchedExtensions: ['js', 'json'], | ||
watchedFolders : ['app', 'config', 'test'] | ||
} | ||
} | ||
}, | ||
|
||
nodewebkit: { | ||
options: { | ||
build_dir: './webkitbuilds', // Where the build version of my node-webkit app is saved | ||
mac : true, // We want to build it for mac | ||
win : false, // We want to build it for win | ||
linux32 : false, // We don't need linux32 | ||
linux64 : false // We don't need linux64 | ||
}, | ||
src : ['./application.nw/**/*'] // Your node-webkit app | ||
}, | ||
|
||
// execute 'grunt curl' manually to refresh the external definition files | ||
curl : { | ||
'ts-definitions/fs-extra/fs-extra.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/fs-extra/fs-extra.d.ts', | ||
'ts-definitions/mime/mime.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/mime/mime.d.ts', | ||
'ts-definitions/mocha/mocha.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/mocha/mocha.d.ts', | ||
'ts-definitions/node/node.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/node/node.d.ts', | ||
'ts-definitions/should/should.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/should/should.d.ts', | ||
'ts-definitions/sinon/sinon.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/sinon/sinon.d.ts', | ||
'ts-definitions/superagent/superagent.d.ts': 'https://github.com/borisyankov/DefinitelyTyped/raw/master/superagent/superagent.d.ts', | ||
'ts-definitions/supertest/supertest.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/supertest/supertest.d.ts', | ||
'ts-definitions/winston/winston.d.ts' : 'https://github.com/borisyankov/DefinitelyTyped/raw/master/winston/winston.d.ts' | ||
} | ||
}); | ||
|
||
// These plugins provide necessary tasks | ||
grunt.loadNpmTasks('grunt-env'); | ||
grunt.loadNpmTasks('grunt-typescript'); | ||
grunt.loadNpmTasks('grunt-mocha-test'); | ||
grunt.loadNpmTasks('grunt-contrib-watch'); | ||
grunt.loadNpmTasks('grunt-nodemon'); | ||
grunt.loadNpmTasks('grunt-curl'); | ||
grunt.loadNpmTasks('grunt-node-webkit-builder'); | ||
grunt.loadNpmTasks('grunt-plato'); | ||
|
||
// Task aliases | ||
grunt.registerTask('createReports', ['env:test', 'mochaTest:coverage', 'plato:source']); | ||
grunt.registerTask('_runTests', ['env:test', 'mochaTest']); | ||
grunt.registerTask('_coverage', ['env:test', 'mochaTest:coverage']); | ||
grunt.registerTask('test', ['_runTests']); | ||
grunt.registerTask('dev', ['env:dev', 'nodemon']); | ||
grunt.registerTask('prod', ['env:prod', 'nodemon']); | ||
|
||
// Default task | ||
grunt.registerTask('default', ['test']); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
abschluss_app | ||
============= |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.