| 42 | |
| 43 | == Welche Wege gibt es Resourcen, wie z.B. Bilder, zu teilen? |
| 44 | Bilder können zwar im Squeak Image gehalten werden, in dem man die entsprechenden ByteArrays am besten auf Klassenseite abspeichert. |
| 45 | Wir empfehlen euch, dass ihr direkt einen Unterordner vom Resources Ordner teilt. Dazu kann man ganz einfach Dropbox/OwnCloud nutzen und einen Symlink in den Unterordner legen. Alternativ könnt ihr auch ein Git Repository einrichten, was dann im Resources Ordner ausgecheckt werden kann. Der Vorteil ist, dass ihr die Fotos schnell austauschen könnt. Außerdem bleibt euer Repository kleiner. |
| 46 | |
| 47 | == Wie treffe ich Designentscheidungen? == |
| 48 | Bei vielen Designentscheidungen gibt es aber kein klares richtig oder falsch. Ihr selbst kennt euer Projekt am besten und könnt selbst am besten entscheiden, wie man ein bestimmtes Feature schön implementiert. Solange ihr euch weitestgehend an Modularitätsregeln und Regeln für objekt-orientiertes Design haltet und der Code schön aussieht, könnt ihr so ziemlich jedes Design rechtfertigen. Dazu zählen zum Beispiel, aber nicht nur: |
| 49 | |
| 50 | - [http://en.wikipedia.org/wiki/Don%27t_repeat_yourself DRY (Don’t repeat yourself)] |
| 51 | - [http://en.wikipedia.org/wiki/Single_responsibility_principle SRP (Single responsibility principle)] |
| 52 | - [http://en.wikipedia.org/wiki/Open/closed_principle Open/closed principle] |
| 53 | - [http://en.wikipedia.org/wiki/Law_of_Demeter Law of Demeter] |
| 54 | - [http://en.wikipedia.org/wiki/Composition_over_inheritance Composition over inheritance] |
| 55 | - [http://www.extremeprogramming.org/rules/simple.html Simple Design] |
| 56 | - [http://en.wikipedia.org/wiki/Loose_coupling Loose coupling] |
| 57 | - Korrekte Verwendung von Smalltalk/Squeak-Klassen und Sprachidiomen |
| 58 | - Code Metriken (z.B. Lines of Code in der Methode, God Class, etc.), um Code Smells zu vermeiden |
| 59 | |
| 60 | SWALint und Design Patterns können euch dabei helfen, diese Ziele zu erreichen. |