Sie sind hier
E-Book

Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code

Deutsche Ausgabe

AutorRobert C. Martin
Verlagmitp Verlags GmbH & Co. KG
Erscheinungsjahr2013
Reihemitp Professional 
Seitenanzahl480 Seiten
ISBN9783826696381
FormatPDF/ePUB
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis39,99 EUR
h2>Kommentare, Formatierung, StrukturierungFehler-Handling und Unit-TestsZahlreiche Fallstudien, Best Practices, Heuristiken und Code Smells Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen CodeAus dem Inhalt:Lernen Sie, guten Code von schlechtem zu unterscheidenSauberen Code schreiben und schlechten Code in guten umwandelnAussagekräftige Namen sowie gute Funktionen, Objekte und Klassen erstellenCode so formatieren, strukturieren und kommentieren, dass er bestmöglich lesbar istEin vollständiges Fehler-Handling implementieren, ohne die Logik des Codes zu verschleiernUnit-Tests schreiben und Ihren Code testgesteuert entwickeln Selbst schlechter Code kann funktionieren. Aber wenn der Code nicht sauber ist, kann er ein Entwicklungsunternehmen in die Knie zwingen. Jedes Jahr gehen unzählige Stunden und beträchtliche Ressourcen verloren, weil Code schlecht geschrieben ist. Aber das muss nicht sein. Mit Clean Code präsentiert Ihnen der bekannte Software-Experte Robert C. Martin ein revolutionäres Paradigma, mit dem er Ihnen aufzeigt, wie Sie guten Code schreiben und schlechten Code überarbeiten. Zusammen mit seinen Kollegen von Object Mentor destilliert er die besten Praktiken der agilen Entwicklung von sauberem Code zu einem einzigartigen Buch. So können Sie sich die Erfahrungswerte der Meister der Software-Entwicklung aneignen, die aus Ihnen einen besseren Programmierer machen werden - anhand konkreter Fallstudien, die im Buch detailliert durchgearbeitet werden. Sie werden in diesem Buch sehr viel Code lesen. Und Sie werden aufgefordert, darüber nachzudenken, was an diesem Code richtig und falsch ist. Noch wichtiger: Sie werden herausgefordert, Ihre professionellen Werte und Ihre Einstellung zu Ihrem Beruf zu überprüfen. Clean Code besteht aus drei Teilen:Der erste Teil beschreibt die Prinzipien, Patterns und Techniken, die zum Schreiben von sauberem Code benötigt werden. Der zweite Teil besteht aus mehreren, zunehmend komplexeren Fallstudien. An jeder Fallstudie wird aufgezeigt, wie Code gesäubert wird - wie eine mit Problemen behaftete Code-Basis in eine solide und effiziente Form umgewandelt wird. Der dritte Teil enthält den Ertrag und den Lohn der praktischen Arbeit: ein umfangreiches Kapitel mit Best Practices, Heuristiken und Code Smells, die bei der Erstellung der Fallstudien zusammengetragen wurden. Das Ergebnis ist eine Wissensbasis, die beschreibt, wie wir denken, wenn wir Code schreiben, lesen und säubern. Dieses Buch ist ein Muss für alle Entwickler, Software-Ingenieure, Projektmanager, Team-Leiter oder Systemanalytiker, die daran interessiert sind, besseren Code zu produzieren. Über den Autor:Robert C. »Uncle Bob« Martin entwickelt seit 1970 professionell Software. Seit 1990 arbeitet er international als Software-Berater. Er ist Gründer und Vorsitzender von Object Mentor, Inc., einem Team erfahrener Berater, die Kunden auf der ganzen Welt bei der Programmierung in und mit C++, Java, C#, Ruby, OO, Design Patterns, UML sowie Agilen Methoden und eXtreme Programming helfen.

Robert C. »Uncle Bob« Martin entwickelt seit 1970 professionell Software. Seit 1990 arbeitet er international als Software-Berater. Er ist Gründer und Vorsitzender von Object Mentor, Inc., einem Team erfahrener Berater, die Kunden auf der ganzen Welt bei der Programmierung in und mit C++, Java, C#, Ruby, OO, Design Patterns, UML sowie Agilen Methoden und eXtreme Programming helfen.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Vorwort


Bei uns in Dänemark zählt Ga-Jol zu den beliebtesten Süßigkeiten. Sein starker Lakritzduft ist ein perfektes Mittel gegen unser feuchtes und oft kühles Wetter. Der Charme, den Ga-Jol für uns Dänen entfaltet, liegt auch an den weisen oder geistreichen Sprüchen, die auf dem Deckel jeder Packung abgedruckt sind. Ich habe mir heute Morgen eine Doppelpackung dieser Köstlichkeit gekauft und fand darauf das folgende alte dänische Sprichwort:

Ærlighed i små ting er ikke nogen lille ting.

Ehrlichkeit in kleinen Dingen ist kein kleines Ding. Dies war ein gutes Omen. Es passte zu dem, was ich hier sagen wollte. Kleine Dinge spielen eine Rolle. In diesem Buch geht es um bescheidene Belange, deren Wert dennoch beträchtlich ist.

Gott steckt in den Details, sagte der Architekt ?Ludwig Mies van der Rohe. Dieses Zitat erinnert an zeitgenössische Auseinandersetzungen über die Rolle der Architektur bei der Software-Entwicklung und insbesondere in der Agilen Welt. Bob und ich führen gelegentlich heiße Diskussionen über dieses Thema. Und ja, Mies van der Rohe war sehr an der Nützlichkeit und der Zeitlosigkeit der Formen des Bauens interessiert, auf denen großartige Architektur basiert. Andererseits wählte er auch persönlich jeden Türknopf für jedes Haus aus, das er entworfen hatte. Warum? Weil kleine Aufgaben eine Rolle spielen.

Bei unserer laufenden »Debatte« über TDD haben Bob und ich festgestellt, dass wir beide der Auffassung sind, dass die Software-?Architektur eine wichtige Rolle bei der Entwicklung spielt, obwohl wir wahrscheinlich verschiedene Vorstellungen davon haben, was genau das bedeutet. Doch solche Differenzen sind relativ unwichtig, weil wir davon ausgehen können, dass verantwortungsbewusste Profis am Anfang eines Projekts eine gewisse Zeit über seinen Ablauf und seine Planung nachdenken. Die Vorstellungen der späten 1990er-Jahre, dass Design nur durch Tests und den Code vorangetrieben werden könnte, sind längst passé. Doch die Aufmerksamkeit im Detail ist ein noch wesentlicherer Aspekt der Professionalität als Visionen im Großen. Erstens: Es ist die Übung im Kleinen, mit der Profis ihr Können und ihr Selbstvertrauen entwickeln, sich an Größeres heranzuwagen. Zweitens: Die kleinste Nachlässigkeit bei der Konstruktion, die Tür, die nicht richtig schließt, die missratene Kachel auf dem Fußboden oder sogar ein unordentlicher Schreibtisch können den Charme des größeren Ganzen mit einem Schlag ruinieren. Darum geht es bei sauberem Code.

Dennoch bleibt die Architektur nur eine Metapher für die ??Software-Entwicklung und insbesondere die Phase der Software, in der das anfängliche Produkt etwa in derselben Weise entsteht, wie ein Architekt ein neues Gebäude hervorbringt. In der heutigen Zeit von Scrum und Agile geht es hauptsächlich darum, ein Produkt schnell auf den Markt zu bringen. Die Fabrik soll mit höchster Kapazität Software produzieren. Nur: Hier geht es um menschliche Fabriken, denkende und führende Programmierer, die eine Aufgabenliste abarbeiten oder sich bemühen, anhand von Benutzer-Stories ein brauchbares Produkt zu erstellen. Ein solches Denken wird von der Metapher der Fabrik dominiert. Die Produktionsaspekte der Herstellung von Autos in Japan, also einer von Fließbändern dominierten Welt, haben viele Ideen von Scrum inspiriert.

Doch selbst in der Automobilindustrie wird der Hauptteil der Arbeit nicht bei der Produktion, sondern bei der Wartung geleistet – oder bei dem Bemühen, sie zu vermeiden. Bei der Software werden die 80 oder mehr Prozent unserer Tätigkeit anheimelnd als »Wartung« bezeichnet, ein beschönigendes Wort für »Reparatur«. Statt uns also auf typische westliche Weise auf die Produktion guter Software zu konzentrieren, sollten wir anfangen, eher wie ein Hausmeister bei der Gebäudeinstandhaltung oder wie ein Kfz-Mechaniker bei der Reparatur von Autos zu denken. Was haben japanische Managementweisheiten dazu zu sagen?

Etwa 1951 erschien ein Qualitätsansatz namens ?Total Productive Maintenance (?TPM; »Umfassendes Management des Produktionsprozesses«, der Ausdruck wird nicht ins Deutsche übersetzt) in der japanischen Szene. Er konzentrierte sich weniger auf die Produktion, sondern mehr auf die Wartung. Eine der fünf Säulen des TPM ist der Satz der so genannten 5S-Prinzipien. 5S bezieht sich auf einen Satz von Disziplinen oder Tätigkeitsbereichen. Tatsächlich verkörpern diese 5S-Prinzipien die Bedeutung von ?Lean – einem anderen Modewort in westlichen Produktionskreisen, das zunehmend auch in der Software-Entwicklung verwendet wird. Diese Prinzipien sind nicht optional. Wie Uncle Bob auf der Titelseite sagt, erfordert die Software-Praxis eine gewisse Disziplin: Fokus, Aufmerksamkeit und Denken. Es geht nicht immer nur darum, aktiv zu sein und die Fabrikausrüstung mit der optimalen Geschwindigkeit zu betreiben. Die ?5S-Philosophie umfasst die folgenden Konzepte:

  • ?Seiri oder Organisation (Eselsbrücke: »sortieren«). Zu wissen, wo sich Dinge befinden, ist erfolgsentscheidend. Dazu zählen zum Beispiel Ansätze wie das Vergeben geeigneter Namen. Wenn Sie meinen, die Benennung Ihrer Bezeichner sei nicht wichtig, sollten Sie auf jeden Fall die folgenden Kapitel lesen.

  • ?Seiton oder Ordentlichkeit (Eselsbrücke: »aufräumen«). Ein altes Sprichwort sagt: Ein Platz für alles, und alles an seinem Platz. Ein Code-Abschnitt sollte da stehen, wo Sie ihn zu finden erwarten; und falls er nicht da steht, sollten Sie ein Refactoring von Ihrem Code vornehmen, so dass er danach an der erwarteten Stelle steht.

  • ?Seiso oder Sauberkeit (Eselsbrücke: »wienern«). Sorgen Sie dafür, dass der Arbeitsplatz frei von herumhängenden Drähten, Müllspuren, Einzelteilen und Abfall ist. Was sagen die Autoren hier über die Vermüllung Ihres Codes mit Kommentaren und auskommentierten Codezeilen, die den Verlauf der Entwicklung oder Wünsche für die Zukunft wiedergeben? Weg damit.

  • ?Seiketsu oder Standardisierung. Die kommt zu einem Konsens darüber, wie der Arbeitsplatz sauber gehalten werden soll. Hat dieses Buch etwas über einen konsistenten Codierstil und gemeinsam in der Gruppe befolgte Praktiken zu sagen? Wo kommen diese Standards her? Lesen Sie weiter.

  • ?Shutsuke oder Disziplin (Selbst-disziplin). Dies bedeutet, die Disziplin aufzubringen, den Praktiken zu folgen, seine Arbeit regelmäßig zu überdenken und bereit zu sein, sich zu ändern.

Wenn Sie die Herausforderung – jawohl, die Herausforderung – annehmen, dieses Buch zu lesen und anzuwenden, werden Sie den letzten Punkt verstehen und schätzen lernen. Hier kommen wir schließlich zu den Wurzeln einer verantwortlichen professionellen Einstellung in einem Beruf, der sich um den Lebenszyklus eines Produktes kümmern sollte. So wie Automobile und andere Maschinen unter TPM vorbeugend gewartet werden, sollte eine Wartung im Falle eines Zusammenbruchs – also darauf zu warten, dass die Bugs sich zeigen – die Ausnahme sein. Stattdessen sollten Sie eine Ebene höher ansetzen: Inspizieren Sie die Maschinen jeden Tag und tauschen Sie Verschleißteile aus, bevor sie kaputtgehen, oder lassen Sie den sprichwörtlichen Ölwechsel vornehmen, um die Abnutzung des Motors möglichst zu verringern. Für Ihren Code bedeutet das: Nehmen Sie ein gnadenloses Refactoring vor. Sie können mit der Verbesserung noch eine Ebene höher ansetzen, wie es die TPM-Bewegung innovativ vor über 50 Jahren vorgemacht hat: Bauen Sie Maschinen, die von vornherein wartungsfreundlicher sind. Code lesbar zu machen, ist genauso wichtig, wie ihn ausführbar zu machen. Die ultimative Praxis, die in TPM-Kreisen etwa 1960 eingeführt wurde, besteht darin, die alten Maschinen vorbeugend durch vollkommen neue zu ersetzen. Wie Fred ?Brooks anmahnt, sollten wir wahrscheinlich Hauptteile unserer Software etwa alle sieben Jahre von Grund auf erneuern, um die schleichende Ansammlung von ?Cruft (Jargon: Müll, Staub, Unrat) zu beseitigen. Vielleicht sollten wir die von Brooks genannte Zeitspanne drastisch reduzieren und nicht von Jahren, sondern von Wochen, Tagen oder gar Stunden sprechen. Denn dort finden sich die Details.

??Details haben eine mächtige Wirkungskraft. Dennoch hat dieser Ansatz etwas Bescheidenes und Grundsätzliches, so wie wir es vielleicht stereotyp von einem Ansatz erwarten, der japanische Wurzeln für sich in Anspruch nimmt. Aber dies ist nicht nur eine köstliche Art, das Leben zu sehen. Auch die westliche Volksweisheit enthält zahlreiche ähnliche Sprichwörter. Das Seiton-Zitat von oben floss auch aus der Feder eines Priesters in Ohio, der Ordentlichkeit buchstäblich »als Gegenmittel für jede Art von Bösem« sah. Was ist mit Seiso? Sauberkeit kommt gleich nach Göttlichkeit. So schön ein Haus auch sein mag, ein unordentlicher Tisch raubt ihm seinen ganzen Glanz. Was bedeutet Shutsuke in diesen kleinen Dingen? Wer an wenig glaubt, glaubt an viel. Wie wär’s damit, das Refactoring des Codes rechtzeitig durchzuführen, um seine Position für folgende »große« Entscheidungen zu stärken, als die Aufgabe aufzuschieben? Ein Stich zur rechten Zeit erspart dir neun weitere. Wer früh kommt, mahlt zuerst. Was du heute kannst besorgen, das verschiebe nicht auf morgen. (Dies war die ursprüngliche Bedeutung...

Blick ins Buch
Inhaltsverzeichnis
Cover1
Titel3
Impressum4
Inhaltsverzeichnis5
Vorwort15
Einführung21
Kapitel 1: Sauberer Code25
1.1 Code, Code und nochmals Code26
1.2 Schlechter Code27
1.3 Die Lebenszykluskosten eines Chaos28
1.4 Denkschulen40
1.5 Wir sind Autoren41
1.6 Die Pfadfinder-Regel43
1.7 Vorläufer und Prinzipien43
1.8 Zusammenfassung43
Kapitel 2: Aussagekräftige Namen45
2.1 Einführung45
2.2 Zweckbeschreibende Namen wählen45
2.3 Fehlinformationen vermeiden47
2.4 Unterschiede deutlich machen49
2.5 Aussprechbare Namen verwenden50
2.6 Suchbare Namen verwenden51
2.7 Codierungen vermeiden52
2.8 Mentale Mappings vermeiden54
2.9 Klassennamen55
2.10 Methodennamen55
2.11 Vermeiden Sie humorige Namen55
2.12 Wählen Sie ein Wort pro Konzept56
2.13 Keine Wortspiele56
2.14 Namen der Lösungsdomäne verwenden57
2.15 Namen der Problemdomäne verwenden57
2.16 Bedeutungsvollen Kontext hinzufügen57
2.17 Keinen überflüssigen Kontext hinzufügen60
2.18 Abschließende Worte60
Kapitel 3: Funktionen61
3.1 Klein!64
3.2 Eine Aufgabe erfüllen65
3.3 Eine Abstraktionsebene pro Funktion67
3.4 Switch-Anweisungen68
3.5 Beschreibende Namen verwenden70
3.6 Funktionsargumente71
3.7 Nebeneffekte vermeiden75
3.8 Anweisung und Abfrage trennen77
3.9 Ausnahmen sind besser als Fehler-Codes77
3.10 Don’t Repeat Yourself80
3.11 Strukturierte Programmierung80
3.12 Wie schreibt man solche Funktionen?81
3.13 Zusammenfassung81
3.14 SetupTeardownIncluder82
Kapitel 4: Kommentare85
4.1 Kommentare sind kein Ersatz für schlechten Code86
4.2 Erklären Sie im und durch den Code87
4.3 Gute Kommentare87
4.4 Schlechte Kommentare92
Kapitel 5: Formatierung109
5.1 Der Zweck der Formatierung109
5.2 Vertikale Formatierung110
5.3 Horizontale Formatierung119
5.4 Team-Regeln125
5.5 Uncle Bobs Formatierungsregeln125
Kapitel 6: Objekte und Datenstrukturen129
6.1 Datenabstraktion129
6.2 Daten/Objekt-Anti-Symmetrie131
6.3 Das Law of Demeter133
6.4 Datentransfer-Objekte136
6.5 Zusammenfassung138
Kapitel 7: Fehler-Handling139
7.1 Ausnahmen statt Rückgabe-Codes139
7.2 Try-Catch-Finally-Anweisungen zuerst schreiben141
7.3 Unchecked Exceptions143
7.4 Ausnahmen mit Kontext auslösen144
7.5 Definieren Sie Exception-Klassen mit Blick auf die Anforderungen des Aufrufers144
7.6 Den normalen Ablauf definieren146
7.7 Keine Null zurückgeben147
7.8 Keine Null übergeben148
7.9 Zusammenfassung150
Kapitel 8: Grenzen151
8.1 Mit Drittanbieter-Code arbeiten151
8.2 Grenzen erforschen und kennen lernen154
8.3 log4j kennen lernen154
8.4 Lern-Tests sind besser als kostenlos156
8.5 Code verwenden, der noch nicht existiert157
8.6 Saubere Grenzen158
Kapitel 9: Unit-Tests159
9.1 Die drei Gesetze der TDD160
9.2 Tests sauber halten161
9.3 Saubere Tests163
9.4 Ein assert pro Test168
9.5 F.I.R.S.T.171
9.6 Zusammenfassung172
Kapitel 10: Klassen173
10.1 Klassenaufbau173
10.2 Klassen sollten klein sein!174
10.3 Änderungen einplanen185
Kapitel 11: Systeme191
11.1 Wie baut man eine Stadt?191
11.2 Konstruktion und Anwendung eines Systems trennen192
11.3 Aufwärtsskalierung196
11.4 Java-Proxies200
11.5 Reine Java-AOP-Frameworks202
11.6 AspectJ-Aspekte205
11.7 Die Systemarchitektur testen205
11.8 Die Entscheidungsfindung optimieren207
11.9 Standards weise anwenden, wenn sie nachweisbar einen Mehrwert bieten207
11.10 Systeme brauchen domänenspezifische Sprachen208
11.11 Zusammenfassung208
Kapitel 12: Emergenz209
12.1 Saubere Software durch emergentes Design209
12.2 Einfache Design-Regel 1: Alle Tests bestehen210
12.3 Einfache Design-Regeln 2-4: Refactoring211
12.4 Keine Duplizierung211
12.5 Ausdrucksstärke214
12.6 Minimale Klassen und Methoden215
12.7 Zusammenfassung215
Kapitel 13: Nebenläufigkeit217
13.1 Warum Nebenläufigkeit?218
13.2 Herausforderungen220
13.3 Prinzipien einer defensiven Nebenläufigkeitsprogrammierung221
13.4 Lernen Sie Ihre Library kennen223
13.5 Lernen Sie Ihre Ausführungsmodelle kennen224
13.6 Achten Sie auf Abhängigkeiten zwischen synchronisierten Methoden226
13.7 Halten Sie synchronisierte Abschnitte klein226
13.8 Korrekten Shutdown-Code zu schreiben, ist schwer227
13.9 Threaded-Code testen227
13.10 Zusammenfassung232
Kapitel 14: Schrittweise Verfeinerung235
14.1 Args-Implementierung236
14.2 Args: der Rohentwurf243
14.3 String-Argumente258
14.4 Zusammenfassung300
Kapitel 15: JUnit im Detail301
15.1 Das JUnit-Framework301
15.2 Zusammenfassung316
Kapitel 16: Refactoring von SerialDate317
16.1 Zunächst bring es zum Laufen!318
16.2 Dann mach es richtig!320
16.3 Zusammenfassung336
Kapitel 17: Smells und Heuristiken337
17.1 Kommentare337
17.2 Umgebung339
17.3 Funktionen340
17.4 Allgemein340
17.5 Java362
17.6 Namen366
17.7 Tests370
17.8 Zusammenfassung372
Anhang A: Nebenläufigkeit II373
A.1 Client/Server-Beispiel373
A.2 Mögliche Ausführungspfade377
A.3 Lernen Sie Ihre Library kennen383
A.4 Abhängigkeiten zwischen Methoden können nebenläufigen Code beschädigen387
A.5 Den Durchsatz verbessern391
A.6 Deadlock394
A.7 Multithreaded-Code testen398
A.8 Threadbasierten Code mit Tools testen401
A.9 Zusammenfassung402
A.10 Tutorial: kompletter Beispielcode402
Anhang B: org.jfree.date.SerialDate407
Anhang C: Literaturverweise463
Epilog465
Stichwortverzeichnis467

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

Atalanta

Atalanta

Atalanta ist die Zeitschrift der Deutschen Forschungszentrale für Schmetterlingswanderung. Im Atalanta-Magazin werden Themen behandelt wie Wanderfalterforschung, Systematik, Taxonomie und Ökologie. ...

aufstieg

aufstieg

Zeitschrift der NaturFreunde in Württemberg Die Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

DGIP-intern

DGIP-intern

Mitteilungen der Deutschen Gesellschaft für Individualpsychologie e.V. (DGIP) für ihre Mitglieder Die Mitglieder der DGIP erhalten viermal jährlich das Mitteilungsblatt „DGIP-intern“ ...