UliEdit 1.2 - Ein ressourcenschonender Texteditor

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
ulrich1992
User
Beiträge: 42
Registriert: Montag 8. November 2010, 15:25
Wohnort: Braunschweig
Kontaktdaten:

Freitag 23. September 2011, 20:24

UliEdit ist ein ressourcenschonender Texteditor für Microsoft Windows.
Der Text ist durch die kontrastreiche Farbgebung gut lesbar.
Die üblichen Funktionen wie Suchen, Ersetzen und Rückgängig stehen zur Verfügung.
In der Fußzeile werden die Zeilennummer, Spaltennummer und die Offset-Position des Cursors angezeigt.

Genutzt wurden Python 2.7.2, wxWidgets. Als Compiler diente py2exe.

Das Programm steht unter einer BSD-Lizenz.

Link:
http://www.deruli.de/seite/uliedit_-_ei ... ft_windows



Bild
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Mittwoch 28. September 2011, 00:09

Kann das zwar nicht testen, aber hier mal etwas Feedback zum Code:
  • PEP 8 angucken und anwenden.
  • Niemals ein pures `except:` verwenden, sondern immer angeben, welche Exception erwartet wird.
  • Das Arbeitsverzeichnis wechseln finde ich übrigens etwas unhöflich von dem Programm; nachher biste irgendwo anders und wolltest da gar nicht sein. Lieber also nicht machen.
  • Zeile 127: String Formatting verwenden anstatt Strings von Hand zusammenzusetzen.
  • Zeile 227/229: ein Vergleich mit `True` ist nutzlos -- das Ergebnis davon ist ja wieder True oder False, also müsstest du das quasi wieder mit True vergleichen und so fort... stattdessen schreibt man

    Code: Alles auswählen

    if ...:
    bzw.

    Code: Alles auswählen

    if not ...:
  • Die GUI-Callbacks würde ich vielleicht noch prefixen, z.b. mit `on_` oder suffixen mit `_cb`:

    Code: Alles auswählen

    def on_button_pressed
    ist deutlich verständlicher als

    Code: Alles auswählen

    def button_press
Das wars erstmal. Hoffe das hilft und viel Spaß beim Verbessern :)
ulrich1992
User
Beiträge: 42
Registriert: Montag 8. November 2010, 15:25
Wohnort: Braunschweig
Kontaktdaten:

Mittwoch 28. September 2011, 00:33

Dauerbaustelle hat geschrieben: Das Arbeitsverzeichnis wechseln finde ich übrigens etwas unhöflich von dem Programm; nachher biste irgendwo anders und wolltest da gar nicht sein. Lieber also nicht machen.
In wie fern sollte das ein Problem sein, wenn man das Programm über einen Doppelklick via GUI startet?

Soll ich stattdessen lieber ellenlange Pfade zusammensetzen?

Wie soll ich dann bei einem Programm, das aus mehreren Klassen besteht eine Klasse importieren?
Ein import mit Pfadangabe wird ja wahrscheinlich nicht funktionieren.
deets

Mittwoch 28. September 2011, 00:41

Was hat denn das working-directory mit importen zu tun?

Und ja, "ellenlange" Pfade sind schon ok - musst du ja nicht eintippen, sondern statt cwd os.path.join machen.
ulrich1992
User
Beiträge: 42
Registriert: Montag 8. November 2010, 15:25
Wohnort: Braunschweig
Kontaktdaten:

Mittwoch 28. September 2011, 01:03

deets hat geschrieben:Was hat denn das working-directory mit importen zu tun?
Wenn ein Projekt aus mehreren .py-Dateien besteht und ich z.B. die Datei klassenname.py via

Code: Alles auswählen

import klassenname
einbinden möchte.

include() oder require() wie bei PHP gibts ja so weit ich weiß nicht in Python.
BlackJack

Mittwoch 28. September 2011, 06:27

@ulrich1992: Falls sich die Module nicht in einem Pfad befinden, in dem Python danach sucht, dann fügt man den Pfad dort hin eben zu den Pfaden hinzu, in denen Python nach Modulen sucht. Also einmal einen „ellenlangen” Pfad zusammensetzen und bei `sys.path` anhängen, statt das Arbeitsverzeichnis für den gesamten Prozess zu wechseln.
deets

Mittwoch 28. September 2011, 10:06

@ulrich1992

Das hoert sich fuer mich alles sehr bosselig an. Python verfuegt doch mit Packages ueber einen guten Mechanismus, Sourcen hierarchisch zu organisieren, und davon importieren zu koennen. Warum nutzt du den nicht?
Antworten