AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
06.06.20 - 13:47:53
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Best Practices
| |-+  Diskussionen zu Best Practices (Moderatoren: Axel, MartinG, animate, koehlerbv)
| | |-+  Was ein Notes-Entwickler immer beachten/machen sollte
« vorheriges nächstes »
Seiten: 1 [2] Nach unten Drucken
Autor Thema: Was ein Notes-Entwickler immer beachten/machen sollte  (Gelesen 16590 mal)
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #20 am: 15.06.04 - 22:03:46 »

Keine Zeile LS-Code ohne ErrorHandler, der zumindest ErrorCode und ErrorLine ausgibt.
Konstanten auch als solche deklarieren (ggf. "Pseudo-Konstanten" verwenden) und diese an zentraler Stelle deklarieren.
(Also nicht Set viewLookup = dbCurrent.GetView ("(LookupView)"), sondern Const VIEW_LOOKUP = "(LookupView)" usw.)
Das FrontEnd immer an den üblichen Notes-Standards ausrichten (Funktionsweise, Beschriftung und Icons für Buttons usw.)
Keine UI-Klassen in Agents, die im Backend laufen werden.
Jeder LS-Routine einen aussagekräftigen Header verpassen, der Sinn und Zweck, Parameter und Rahmenbedingungen ausdrücklich erklärt - und diesen weiter pflegen !
Zwischenstände der Entwicklung permanent sichern - das rettet manchmal zig Stunden Entwicklungsarbeit.
Schon gesagt, aber m.E. wirklich wichtig: Felder, die nicht per @functions oder durch Interaktion mit dem User gefüllt werden, nicht in Masken aufnehmen. Falls erforderlich, diese als computed when composed deklarieren.
Wo machbar, Felder als computed for display deklarieren.
Ansichten so schlank wie nur irgend möglich halten und immer daran arbeiten, die Anzahl der Ansichten zu minimieren. Auch wenn das als Widerspruch erscheinen mag: Jede Ansicht, auf die programmatisch zugegriffen werden soll, als versteckte Ansicht erstellen.
Datenbank-Synopsen bei der Weiterentwicklung bereithalten. Teamstudio Analyzer wäre natürlich besonders fein ;-)
Subform-Anzahl pro Maske minimieren (Performance).

To be continued ...

Bernhard
Gespeichert
Ute
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Weiblich
Beiträge: 662



« Antworten #21 am: 17.06.04 - 11:40:46 »

nie die Servernamen in Masken, Feldern etc verwenden
immer serverunabhängig programmieren
Namenskonvention erarbeiten
Teilmasken für Änderungen in Standardschablonen verwenden
UNC Pfade verwenden

ein leidgeprüfter
Admin
Gruß
Ute
Gespeichert

2 Domino Server 6.5.1
2 Domino Server 6.5.1 geclustert
alle Server englisch
W2K
Clients 6.5.1
ca 550 User  NT & Win2000 deutsch
ca 10 mobile User
ca 50 Palm OS Geräte
Stefan1971
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 10

/\/ Wird geöffnet...


« Antworten #22 am: 18.06.04 - 15:36:19 »

Folgende Tatsache hat mich jetzt doch etwas überrascht:

http://www.geniisoft.com/showcase.nsf/archive/20040615-1118?OpenDocument&count=-1

Bis vorhin dachte ich, die Aufzählung bei der Definition von Variablen nimmt sich nichts gegenüber der (vermeintlich) "umständlichen" Einzelnennung.

Gruss, Stefan
Gespeichert
Semeaphoros
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8152


ho semeaphoros - agr.: der Notesträger


WWW
« Antworten #23 am: 18.06.04 - 18:31:17 »

Da kann man gewiss nicht häufig genug drauf hinweisen, dass da LS sich anders verhält als andere Sprachen .....
Gespeichert

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #24 am: 18.06.04 - 21:25:40 »

.. aber eigentlich ist hier LS "sauberer": Ohne konkrete Ansage ist eine Variable eben Variant.
Die Variablendeklaration gehört also auch eindeutig in diesen BP-Artikel. Wobei in diesem Zusammenhang auch unbedingt stehen sollte:
- Option Declare / Explicit verwenden. IMMER !
- Keine Mehrfachdeklaration in einer Zeile (liest sich auch blöd sonst, und kostet oder spart keinen Speicherplatz)
- Variablenbezeichnungen nach der Hungarian Notation verwenden und nicht den uralten (und immer noch erlaubten) BASIC-Quatsch wie $, % oder & etc. verwenden.

Bernhard
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #25 am: 18.06.04 - 21:44:19 »

- Option Declare hatten wir glaub ich hier schon öfter,aber egal, so vergessen wir es wenigstens nicht  Cheesy

Zu Variablen-Präfixen gab es letztens auch eine interessante Diskussion im Rocky Oliver Blog.

Ich bin auch dafür dass man das wirklich immer Präfixe verwendet. Dass man da nun 1:1 die ungarische Notation verwenden sollte/muss würde ich jetzt nicht verpflichtend sehen. Ich bin auch wieder von sz als String-Präfix abgekommen und nehme lieber str.
Imho sollten wir aber im erklärenden Text dieses BP-Artikels zumindest Vorschläge auflisten und z.B. auf den Artikel der " The View" verweisen (Link).

Da als Ratschlag: Organisationsweit immer dieselben Präfixe. Wenn eine Organisation/Firma z.B. schon immer mit sz gearbeitet als Präfix für String, würde ich es als Fehler sehen, in einer neuen DB alle Strings mit "str" einzuleiten.
« Letzte Änderung: 19.06.04 - 18:30:05 von TMC » Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20460



« Antworten #26 am: 18.06.04 - 22:02:30 »

str oder sz - das ist (unter den von Dir genannten Umständen) wirklich egal. Hauptsache, es wird in der Entwickler-Community, die da zusammen an Projekten arbeitet, EIN Standard verwendet. Die "Community" darf dabei auch auf einem einzelnen Mitglied beruhen ;-) Hauptsache, man weiss auch noch nach Jahren, was gemeint war.

Bernhard
Gespeichert
Semeaphoros
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8152


ho semeaphoros - agr.: der Notesträger


WWW
« Antworten #27 am: 19.06.04 - 10:01:33 »

  • Dort, wo Lotus Präfixe in Templates verwendet (was leider nicht überall der Fall ist) wird str verwendet
  • die neueren Stringfunktionen verwenden str als Präfix (strcompare zum Bleistift)
  • Der erwähnte TheView Artikel verwendet str als Präfix
  • C verwendet in der String-Library str als Präfix
  • Java verwendet str als Präfix

Ich denke, da insbesondere auch in den Sprachdefinitionen str sich durchgesetzt hat, ist die Vorgabe gegeben.
Gespeichert

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #28 am: 03.07.04 - 14:31:32 »

Auch noch ein paar hilfreiche Infos zu diesem Thema:

http://www.nsftools.com/tips/PerfTips.htm
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

wflamme
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 690


Irgendwie geht das schon...


WWW
« Antworten #29 am: 16.07.04 - 21:27:48 »

Zu beachten:

There *are* users.
Gespeichert

Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #30 am: 16.07.04 - 22:41:25 »

Ja, Wolfgang?
Gespeichert

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.

wflamme
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 690


Irgendwie geht das schon...


WWW
« Antworten #31 am: 17.07.04 - 10:29:59 »

Naja, also .... Nicht wirklich. Aber man sollte zumindest ab und an so tun, als wären da welche.
Gespeichert

Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf
-Michael-
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 153



WWW
« Antworten #32 am: 17.07.04 - 21:20:29 »

Negativbeispiel - Auszug aus der "SubmitForReview" - ScriptLib der R5-Schablone "Doc Library Notes&Web R5":

Code:
Dim ReviewerNumber, TotalReviewers, Position, SubmitNow, NSubmitNow, IsCurrentReviewer As Integer
Dim ReviewerList, ReviewTime As Variant
Dim NextReviewer, DbName, ViewList, NotificationType, ClientType, FieldName, ErrorText As String

Soweit ich weiß werden dadurch alle Variablen als Variant deklariert, die nicht den Zusatz "As xyz" haben.

Was geht ist:
Code:
Dim strEinString as string, iMeinInteger as Integer, straMeinArrayString() as String

Wundert mich eigentlich, dass gerade in einer von Iris / IBM ausgelieferten DB sowas vorkommt.....

Gespeichert

Semeaphoros
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8152


ho semeaphoros - agr.: der Notesträger


WWW
« Antworten #33 am: 18.07.04 - 08:28:03 »

Stimmt, das ist äusserst merkwürdig, Deine Bemerkung ist durchaus richtig
Gespeichert

Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6
Seiten: 1 [2] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: