ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 18 Mär 2014, 15:07 
Offline
Schüler

Registriert: 11 Apr 2013, 12:48
Beiträge: 49
Hallo Leute,

ich programmiere seit einigen Monaten in Ruby und Sinatra. In den letzten Tagen beschäftigte ich mich mit TDD, BDD und Rspec. Heute kam dabei Frustration auf. Der Frust war kurzerhand so groß, dass ich alles hinschmeißen wollte. Ich bin der Meinung, dass ein guter Programmierer Fähig ist sich selbst zu helfen. Er ließt sich in die Dokumentation, überfliegt die API, sichtet Klassen, Methoden und versteht das große Bild.

Demgegenüber steh ich, unfähig mir selbst zu helfen, ständig auf Google angewiesen. Und wenn niemand das Problem hatte, und ich keine Lösung abschreiben kann - stehe ich da wie ein Depp. Ich möchte mir so gern selbst helfen können, aber für mich sind API's und Dokumentationen Hieroglyphen. Erst konkrete Beispiele sorgen bei mir für Aufhellung des gesagten.

Wie macht ihr das? Wie helft ihr euch? Wie durchdringt ihr die Programmiersprache? Wie meistert ihr die Documentation?

Gruß
Compiler


Nach oben
 Profil  
 
BeitragVerfasst: 18 Mär 2014, 15:28 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
* Ein gutes Beispiel ist die beste Dokumentation
* Nicht jede Doku ist gut und verständlich
* Ein Blick in den Source-Code hilft oftmals weiter
* Als letztes kommt der Debugger und man Step't durch den Code
* Um das zu tun muss man die Programmiersprache beherrschen

Am Ende ist es auch ne Menge Erfahrung, man hat vieles schon mal gesehen
und kann es auf neue Probleme einfacher anwenden.

Um eine neue Programmiersprache zu lernen fange ich meist mit einem guten Buch (englische Version)
dazu an und dann learning by doing und vorhandenen Code ansehen von anderen.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 18 Mär 2014, 20:10 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
Ich kann die Ausführungen von slowjack2k nur unterstreichen. Zuerst die Grundlagen lernen mit einem guten Buch in einer beliebigen Programmiersprache (für Ruby empfiehlt sich die sog. Pickaxe). Dann ganz viel in den Code bestehender Projekte schauen und dazu in deren Dokumentation.

compiler hat geschrieben:
aber für mich sind API's und Dokumentationen Hieroglyphen. Erst konkrete Beispiele sorgen bei mir für Aufhellung des gesagten.


Nicht jede Dokumentation ist gut, und gute Dokumentation enthalten auch Beispiele. Fang doch mal ganz banal mit der Ruby-Dokumentation an: http://ruby-doc.org/core-2.1.1/
Ansonsten: Welche Probleme hast du genau mit Dokumentation? Kannst du ein Beispiel für eine Dokumentation verlinken, die dir nicht verständlich erscheint? Evtl. können wir da ja Licht reinbringen :-)

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
BeitragVerfasst: 20 Mär 2014, 14:53 
Offline
Schüler

Registriert: 11 Apr 2013, 12:48
Beiträge: 49
Gestern schaute ich mir die AngularJS Documentation zum Befehl $Timeout(gewrapped von SetTimeOut - heißt das gewrapped?) an. Damit konnte ich nicht arbeiten. Erst durchs googlen wurde mir klar wie ich diese Methode zu nutzen habe. Vielleicht lese ich ja falsch? Oder denke mir falsche Dinge? Frage mich die falschen Fragen im Unterbewußtsein?

Etwas anderes ist die Tatsache, dass ein guter Programmierer verständlichen Code schreibt. Das bedeutet auch, dass Code kommentiert wird. Wie findet man beim kommentieren das richtige Maß? Was muss überhaupt kommentiert werden?

Beispielsweise hab ich in meinem letzten Ruby/Sinatra Übungsprojekt einfach Aussagekräftige Methodennamen genutzt, und bin damit zufrieden - auch wenn diese manchmal sehr lang werden. Für mich reicht das eigentlich schon aus. Ich verzichte fast gänzlich auf Kommentare.

Bsp: add_vote_for_name_by_id oder find_database_object_by_id get_all_vote_counts....

Gruß
Compiler


Nach oben
 Profil  
 
BeitragVerfasst: 20 Mär 2014, 15:53 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1906
@Angular, das FrameWork kenne ich nicht, aber ich habe mir die Doku mal angesehen.
Dazu mal meine Gedanken-Gänge:


Die Einleitung sagt, dass es ein Wrapper um die JS-Funktion
window.setTimeout ist. Jetzt frage ich mich erstmal selber,
kenne ich window.setTimeout

wenn ja, dann weitern, wenn nein, dann erstmal schauen,
was die Funktion macht.

Ich kenne die Funktion window.setTimeout also weiter.

Es wird was von fn geschrieben, was ist das?

Ah ok, die Doku hat immer den gleichen Aufbau.
Die Parameter sind weiter unten beschrieben.

Ah fn, ist eine Callback-Funktion.

So nun weiter $exceptionHandler, was ist das?
Ok, ein globaler Exception-Handler.

Ok, es wird also nach xx sek. mein Handler aufgerufen,
sollte dieser eine Exception werfen wird das globale Exception-Handling
greifen.

Das nächste was ich mir ansehen würde wäre, was mit Promises
gemeint ist usw.


...

Das ist jetzt kein allgemeingültiges Vorgehen,
sondern nur die Art & Weise wie ich die Doku gelesen
habe.



@Doku, ist immer ein schweres Thema,
das richtige Maas zu finden ist schwer
und es gibt kein Rezept.

Ich versuche eine Ansätze aus Clean Code by Robert C. Martin zu befolgen.
Folgende Aussagen aus dem Buch versuche ich zu beherzigen (mit deinen Methoden-Namen
machst du das schon zum Teil):
* Kommentare im Code sind oft veraltet und spiegeln nicht mehr den Code wieder
* Wenn ich das Gefühl habe etwas kommentieren zu müssen, frage ich mich,
ob ich es refactoren kann, damit es sprechenter ist => Einzeiler sehen zwar schön aus,
aber oft sind sie nach 1 - 2 Tagen nicht mehr lesbar
* Boy-Scout-Rule, wenn ich an eine Code-Stelle komme, die ich nicht mehr verstehe,
dann versuche ich diese durch Refactoring verständlicher zu machen
* (nicht aus dem Buch) Ich versuche Sachen meist nach dem gleichen Schema zu erledigen,
damit ich genau weis, wo man was findet, wie es Aufgebaut ist


ps: bei deinen methoden namen könnte es sein,
das deine methoden zu viel machen, ohne weiteren code ist das
aber nur schwer zu sagen

ps: ps: nachtrag zu methoden-namen:

Phil Karlton hat geschrieben:
There are only two hard things in Computer Science: cache invalidation and naming things.

_________________
Grüße
Jack


Nach oben
 Profil  
 
BeitragVerfasst: 21 Apr 2015, 14:26 
Offline
Lehrling
Benutzeravatar

Registriert: 26 Apr 2005, 15:14
Beiträge: 93
Wohnort: Hamburg
Mich führte heute http://derstandard.at/2000013790436/Was-Programmiersprachen-ueber-ihre-Benutzer-verraten zu euch.

1 Leserkommentar lautet: "Wirft der Compiler keine Fehler, rückt der Feierabend näher".

_________________
Programmers don't die,
they GOSUB
without RETURN.

Die drei Feinde des Programmierers?
Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel.

// A programmer's farewell
main()
{
print ("Goodbye World !);
end;
}


Nach oben
 Profil  
 
BeitragVerfasst: 21 Apr 2015, 17:49 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
WilhelmHH hat geschrieben:
Mich führte heute http://derstandard.at/2000013790436/Was-Programmiersprachen-ueber-ihre-Benutzer-verraten zu euch.


Das nehme ich dir aber nicht ab. Du hast nicht erst seit heute 93 Beiträge hier im Forum :-P

Außerdem: Das Thema ist über ein Jahr alt. Das nächste Mal einfach ein neues Thema eröffnen, Off-Topic ist für sowas gerade da :-)

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
BeitragVerfasst: 02 Sep 2015, 06:02 
Offline
Nuby

Registriert: 01 Sep 2015, 08:30
Beiträge: 1
1 Leserkommentar lautet: "Wirft der Compiler keine Fehler, rückt der Feierabend näher".

_________________
Dummheit ist nicht wenig zu wissen, auch nicht wenig wissen zu wollen, Dummheit ist glauben, genug zu wissen. hulle6


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: