Namenssystem von tabs unlogisch?!

Hi, wenn ich einen neuen tab aufmache, nennt die IDE den new_name.INO

Ergebnis: Es liegen viele .INO im Repository und niemand weiß sofort, welche denn nun das eigentliche Programm ist.

Wäre is nicht viel sinnvoller, wenn die tabs *.h heißen?

Kann ich das erzwingen, ohne selbst umbenennen zu müssen und alle einzeln mit #include einzufügen?

Oder habe ich hier etwas nicht verstanden?

Gruß, Helmuth

Das eigentliche Programm ist doch immer die .ino, die so heißt, wie das Verzeichnis.

Gruß Tommy

Ja, aber wenn ich den Inhalt des Verzeichnisses zu GitHub schiebe, dann weiß das niemand.

Gruß Helmuth

Du könntest evtl. alle untergeordneten ino im Dateinamen mit _ beginnen oder in die readme rein schreiben, welches die Haupt-ino ist.
Das sind 2 unabhängige Systeme, da ist Handarbeit unumgänglich.

Das Auslagern in .h und deren #include ist wieder ein anderer Ablauf.

Gruß Tommy

Das sind alles gute Ideen, danke!

Auf GitHub fragen mich die Leute, ob ich denn blöde bin und warum zur Hölle ich mich nicht an übliche und etablierte Namenssysteme halte... :upside_down_face:

Gruß, Helmuth

Du könntest das Gitrepository so nennen wie das Projektverzeichnis

oder zusätzliche Projektrelevante Dateien eine Ebene höher, so das du ein Unterverzeichnis mit dem Projektnamen machen kannst:

root/
 * datasheets/
    * hd44780.pdf
    * [...]
 * schematic.png
 * readme.txt
 * <project>/
     * <project>.ino
     * abc.ino
     * [...].ino

Ich hätte es nicht so formuliert...
Aber im Grundsatz gebe ich ihnen recht!

Darf ich dich fragen, warum du dich nicht an das etablierte Benennungsschema hältst?

Hi combie, ich mag deinen Humor!

Antwort: Weil ich nur ein Hobbyprogrammierer bin, der sowas noch nie gemacht hat. Demzufolge keine Ahnung habe, was "best practise" ist.

Situation: Ich habe eine Codebase die mittlerweile 100kB groß ist. Niemand will das in einer einzigen Datei sehen / navigieren.
Also versuche ich es auf mehrere Dateien thematisch sortiert aufzuteilen. Dachte mir, die tabs sind da eine clevere Lösung. Offensichtlich nicht.
Beim Editieren brauche ich aber mehrere dieser Datein gleichzeitig offen und schnell zugreifbar - außer tabs kenne ich keine Methode, wie das geht.

Ich habe noch nie in meinem Leben eine Klasse oder ein Objekt geschrieben, ging bisher immer irgendwie auch ohne, solange ich genug RAM habe.

Und jetzt weiß ich nicht, wie weitermachen: Neue Methoden zur Codeorganisation lernen? Eine andere Entwicklungsumgebung nehmen? Mich mehr mit der Ardu IDE beschäftigen und rausfinden (und ggf. umstellen), warum die nicht macht, was als "normal" angesehen wird?

Was würdest Du mir raten?

Sind sie!

Ich rate von *.ino in Tabs ab, auch wenn sie default so genannt werden.
Eine *.ino reicht, die muss sein, aber nicht mehr.
Aus mehreren Gründen!

Ich erzeuge meist nur *.h und *.cpp Tabs.
Selten *.c oder *.S
Bevorzugt *.h

1 Like

Danke! Habe gerade einen neuen Tab mit dem Namen new.h angelegt und das funktioniert.

Hatte vorher nie versucht, den Dateityp zu spezifizieren, weil ich fälschlicherweise annahm, dass die IDE das automatisch "richtig" macht.

Gut, dass ich jetzt kapiert habe, dass ich explizit ansagen muss (und kann) welche Endung die Datei bekommt.

Wenn du einen Tab x.ino nennst, versucht die IDE alles richtig zu machen:

  • Alles in der definierten Reihenfolge in eine cpp kopieren,
  • Funktionsprototypen erzeugen und
    #include <Arduino.h>
    davor
  • Bei Fehlern auf die Original .ino und richtige Zeilennummer verweisen

Wenn du deine Datei .cpp oder .h nennst, geht die IDE davon aus, dass du c++ programmieren kannst/willst.

1 Like

Da das "Program" so heißen muss wie der Folder soll es einem Arduino-Anwender eigentlich klar sein, was der "Haupttab" ist.

Meistens nehme ich aber auch .h und .cpp dann habe ich es unabhängig vom Alphabet selber in der Hand was in welcher Reihenfolge includiert wird.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.