Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.017 Beiträge
 
Delphi 12 Athens
 
#9

AW: Besprechnungsanfrage (iCalendar)

  Alt 26. Nov 2013, 15:09
Pssst, nicht erschrecken, aber sogesehn hatte ich auch nie einen Kurs gehabt und es stecken einfach nur viele Jahre an guten oder schlechten Erfahrungen dahinter.
Vieles selbst beigebracht (ausprobieren, bis es irgendwie klappt), in der DP auch noch viel gelernt und über die Zeit auch vieles "falsch", bzw. ungünstig gelöst.
Durch die DP, DT und Co. auch noch Dinge erfahren, wie man etwas besser lösen könnte/sollte.
Also keine Sorge, jeder fing mal klein an.

So hatte/hab ich auch gerne große funktionen gehabt, aber es macht sich einfach besser, wenn man sowas aufteilt.
z.B. wie Nachfolgend.

So hat man je eine Teilfunktionalität (Mail zusammenbauen, Verschlüsselung und Senden in Funktionen getrennt, die fast komplett auf Bildschirm passt).
Und jetzt hätte man noch genug Platz, um z.B. Funktionen für Übertragungskomprimierungen oder Proxies dazwischenzuschieben.

Das du dir extra Kommentare einbauen mußt, um viele Seiten später noch zu erkennen wozu ein End gehört, sollte dir da etwas zu denken geben.
PS: end;//BreakLines hast du dabei ganz übersehen ... vermutlich hieß die Funktion früher mal so und nun hast du auch noch einen "verwirrenden" Kommentar im Code.
Kommentare sind wichtig, aber zuviele, nutzlose oder redundante Informationen sind eher hinderlich.

Delphi-Quellcode:
procedure TCalendarData.SendCalendarRequest;
var
   SMTP: TIdSMTP;
   IdMessage: TIdMessage;
begin
   IdMessage := TIdMessage.Create(nil);
   try
     CreateMessage(IdMessage);
     SMTP := TIdSMTP.Create(nil);
     try
       InitAuthentification(SMTP);
       SendMail(SMTP);
     finally
       SMTP.Free;
     end;
   finally
     IdMessage.Free;
   end;
end;
Nochmal als Kommentare davor, was wo drinnen wäre:
Delphi-Quellcode:
procedure TCalendarData.SendCalendarRequest;
var
   SMTP: TIdSMTP;
   IdMessage: TIdMessage;
begin
   IdMessage := TIdMessage.Create(nil);
   try
     //with IdMessage do
     //begin
     // //Header setzen
     //...
     //CreateInvitation(IdMessage);
     CreateMessage(IdMessage);
     SMTP := TIdSMTP.Create(nil);
     try
       //if cdSSLConnection = true then
       //begin
       // SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(SMTP);
       //...
       // SMTP.AuthType := satNone;
       //end;
       InitAuthentification(SMTP);
       //SMTP.Host := cd.cdHost;
       //...
       // SMTP.Disconnect;
       //end;
       SendMail(SMTP);
     finally
       SMTP.Free;
     end;
   finally
     IdMessage.Free;
   end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Nov 2013 um 15:11 Uhr)
  Mit Zitat antworten Zitat