[WIP] Rezepte Bibel

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Macoun 2019 - Frühbucherrabatt bis 26.7.2019

  • [WIP] Rezepte Bibel

    Hey,

    ich habe in der letzten Zeit immer mal wieder an einer App gearbeitet und die möchte ich jetzt gerne nutzen um mal eure Meinung, Kritik und Anregungen einzuholen.
    Mir geht es dabei nicht um die App Idee, sondern eher um die Gestaltung des Codes, den Aufbau des UI und so weiter. Ob die App jemals in den App Store gestellt wird weiß ich aktuell noch gar nicht so genau, ist nur ein Projekt womit ich meine Freizeit verbringe.

    Den Sourcecode der App findet ihr hier bei GitHub.

    Was soll die App können?

    Die Rezepte Bibel App soll grundsätzlich nur ein genereller Ort sein an dem man sich vermerken kann wo man die Rezepte findet. Zum einen besteht die Möglichkeit zu hinterlegen in welchem Kochbuch, auf welcher Seite man jenes Rezept findet. Zusätzlich kann man dabei auch Fotos schießen und bei dem Rezept hinterlegen. Außerdem kann man Rezepte von z.B. Chefkoch.de als PDF Datei abspeichern welche im Documents Verzeichnis gespeichert werden und so auch über die Files App zugänglich sind. Des Weiteren lassen sich auch Links zu YouTube Videos speichern. Die Rezepte kann man in verschiedene Kategorieren einsortieren und Tags wie z.B. 'Probiert' oder 'Noch nicht probiert' hinterlegen.

    Das ist das Grundkonzept der App.

    Das UI ist, meiner Meinung nach, noch nicht so sehenswert und aktuell auch nicht für alle iPhones angepasst da ich hauptsächlich mit meinem iPhone X arbeite und somit die App z.B. für Plus Modelle oder das SE noch nicht angepasst ist.

    Ich bin kein Senior iOS Developer aber möchte einfach mal von euch wissen wie der aktuelle Stand so aussieht von der Qualität des Codes her, daher seid nicht so hart mit eurer Kritik :D
  • Mac & i Test Abo
  • Keine Ahnung, ob hier jemand Lust auf ein Code-Review hat, ich habe zumindest nur kurz in 2-3 Implementierungs-Dateien geschaut und das fiel mir auf:
    1. Die Fehlerbehandlungen der CoreData-Routinen sind noch „Template-Standard“. Ich würde das Thema nicht vernachlässigen, sondern Error-Parameter immer nutzen und sprechend ausgeben, auch direkt auf dem Device. Hier bietet sich eine zentrale Methode z. B. im AppDelegate an.
    2. Ich konnte in Deinem Code nicht einen erklärenden Kommentar entdecken. Meiner Meinung nach sollte man jeden Schritt, der nicht z. B. anhand der Variablenbezeichnungen trivial nachvollziehbar ist, mit einem Inline-Kommentar versehen werden. Das lohnt sich bei der nächsten Überarbeitung / Korrektur.
    3. Bezeichnungen (z. B. Dictionary-Keys) würde ich über Konstanten realisieren, das vermeidet Tippfehler.
    4. Grundsätzlich die Funktionen zur Lokalisierung verwenden, auch wenn Du (anfangs) nur eine Sprache unterstützen willst.
    Ich habe wie gesagt nur kurz hineingeschaut, sorry, wenn die o. g. Punkte berücksichtigt wurden und ich es übersehen habe.

    Aufgrund Deines Disclaimers bzgl. UI habe ich auf ein Build verzichtet. Vielleicht lieferst Du zu gegebener Zeit ein Paar Screenshots, ich kompiliere nicht gerne unbekannten Code auf meiner Maschine :D

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    1. Die Fehlerbehandlungen der CoreData-Routinen sind noch „Template-Standard“. Ich würde das Thema nicht vernachlässigen, sondern Error-Parameter immer nutzen und sprechend ausgeben, auch direkt auf dem Device. Hier bietet sich eine zentrale Methode z. B. im AppDelegate an.
    2. Ich konnte in Deinem Code nicht einen erklärenden Kommentar entdecken. Meiner Meinung nach sollte man jeden Schritt, der nicht z. B. anhand der Variablenbezeichnungen trivial nachvollziehbar ist, mit einem Inline-Kommentar versehen werden. Das lohnt sich bei der nächsten Überarbeitung / Korrektur.
    3. Bezeichnungen (z. B. Dictionary-Keys) würde ich über Konstanten realisieren, das vermeidet Tippfehler.
    4. Grundsätzlich die Funktionen zur Lokalisierung verwenden, auch wenn Du (anfangs) nur eine Sprache unterstützen willst.

    Vielen Dank für die Tipps!
    Gerade das nicht nutzen der Lokalisierung hat mich auch schon gestört, der Aufwand beim späteren Hinzufügen wird viel höher sein als es direkt zu nutzen und nur eine neue Sprache einzufügen. Hab mich allerdings bis jetzt davor gedrückt :D

    MyMattes schrieb:

    Vielleicht lieferst Du zu gegebener Zeit ein Paar Screenshots, ich kompiliere nicht gerne unbekannten Code auf meiner Maschine :D
    Das ist verständlich, werde die nächsten Tage mal ein paar Bilder hinzufügen.
  • Zur Idee eine Anregung: ich würde alle Rezepte möglichst direkt in die App aufnehmen. Verweise auf eines von etlichen Büchern im
    Regal sind unpraktisch. Als Ergänzung zum Rezept sicher gut; dann kann man später dort nach weiteren Rezepten stöbern.
    Den Code kann ich mir momentan nicht ansehen. Vielleicht sind folgende Punkte da ja schon drin (nur oben nicht genannt):
    - Suchen/Filtern nach Zutaten
    - Zuordnung nach Jahreszeiten / zu saisonalem Gemüse
    - Konkrete Rezepte würde ich lieber auf einem iPad ablesen statt iPhone

    Langfristig wäre es auch eine schöne Sache, wenn die App mir den aktuellen Schritt vorliest. ;)
  • Och cool, ich dachte, hier ginge es ganz schnöde um Code ... wenn ich mir Features wünschen darf, möchte ich eine Zufallsauswahl von Rezepten. Vielleicht mit Randparametern wie "Zubereitungszeit nicht länger als..." :D

    Aber ich verstehe Steffen's App mehr als eine Art Verzeichnis, inhaltlich werden die Rezepte - insbesondere wenn sie als PDFs oder Fotos vorliegen - (noch) nicht berücksichtigt. Vielleicht wäre es gut, zur Filterung etc. ein paar Metadaten vorzusehen?

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    Och cool, ich dachte, hier ginge es ganz schnöde um Code ... wenn ich mir Features wünschen darf, möchte ich eine Zufallsauswahl von Rezepten. Vielleicht mit Randparametern wie "Zubereitungszeit nicht länger als..." :D

    Aber ich verstehe Steffen's App mehr als eine Art Verzeichnis, inhaltlich werden die Rezepte - insbesondere wenn sie als PDFs oder Fotos vorliegen - (noch) nicht berücksichtigt. Vielleicht wäre es gut, zur Filterung etc. ein paar Metadaten vorzusehen?

    Mattes
    Selbst wenn es "nur" ein Verzeichnis ist, Änderungen an Rezepten hat man doch immer. Nach meinen Erfahrungen kann man viele Rezepte besser/anders würzen. Kommt in die Notiz. Oder Zutaten, manche Hersteller schmecken einfach nicht -> Notiz. Mengenänderung -> Notiz
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • marcoo schrieb:

    Zur Idee eine Anregung: ich würde alle Rezepte möglichst direkt in die App aufnehmen. Verweise auf eines von etlichen Büchern im
    Regal sind unpraktisch.

    MyMattes schrieb:

    Aber ich verstehe Steffen's App mehr als eine Art Verzeichnis, inhaltlich werden die Rezepte - insbesondere wenn sie als PDFs oder Fotos vorliegen - (noch) nicht berücksichtigt. Vielleicht wäre es gut, zur Filterung etc. ein paar Metadaten vorzusehen?

    Mattes
    Da hat Mattes Recht, die App wird mehr als eine Speicherung angesehen wo ich das Rezept finde. Der Aufwand ein Rezept zu hinterlegen mit jeder einzelnen Zutat ist, meiner Meinung nach, einfach zu hoch. Sicherlich wird es Nutzer geben die sowas gerne machen möchten, allerdings ist das eben nicht der Zweck der App. Man kann sich also Speichern in welchem Kochbuch man das Rezept wiederfindet und kann sich ja auch noch ein Foto davon machen, das man das Buch eben nicht raussuchen muss.


    Chris schrieb:

    Selbst wenn es "nur" ein Verzeichnis ist, Änderungen an Rezepten hat man doch immer. Nach meinen Erfahrungen kann man viele Rezepte besser/anders würzen. Kommt in die Notiz. Oder Zutaten, manche Hersteller schmecken einfach nicht -> Notiz. Mengenänderung -> Notiz
    Das finde ich noch eine gute Idee, das man sich zu den gespeicherten Rezepten Notizen erfassen kann was man z.B. anders macht als es im Rezept vermerkt ist.