lange funktions namen



  • hi,

    bisher schreibe ich lange funktions namen nach folgenden schema: KATEGORIE_SUBKATEGORIE_FUNKTION (bsp.: NET_SEND_TXT). in den meisten fälllen reicht das und bis zu 4 vertiefungen ist das noch ziemlich übersichtlich, darüber wirds allerdings "unschön". wie löst ihr solche "probleme"? gibt es in C keine namespaces oder punktnotation (gibt es dafür evtl. compiler seitige lösungen)?



  • Also, wenn du Namespaces möchtest, solltest du C eher sein lassen und direkt zu C++ gehen. Dort ist das Alles vorhanden.



  • noname guy schrieb:

    gibt es in C keine namespaces oder punktnotation (gibt es dafür evtl. compiler seitige lösungen)?

    nein, die gibt es nicht. Ich mach's halt so, wie du es beschrieben hast. Wenn ein Name jedoch viel zu lange wird, dann verwende ich eine Abkürzung. Eigentlich finde ich praktisch, wenn der Funktionsname schon ganz aussagt, was die Funktion macht. Aber das ist eher nur Kosmetik und darüber kann man sich endlos streiten. Das erinnert mich an "mein Code ist ellegant". Bloß, nach welchem Masstab?



  • int func1 (int x) {
    	return x;
    }
    
    float func2 (float x) {
    	return x;
    }
    
    char func3 (char x) {
    	return x;
    }
    
    void func4 (void) {
    	return;
    }
    
    typedef struct {
    	int (*f1)(int);
    	float (*f2)(float);
    	char (*f3)(char);
    	void (*f4)(void);
    } std_t;
    
    const std_t std = {
    	.f1 = func1,
    	.f2 = func2,
    	.f3 = func3,
    	.f4 = func4
    };
    
    int main (void) {
    	int a = 5;
    	float b = 3.14f;
    	char c = 'c';
    	a = std.f1(a);
    	b = std.f2(b);
    	c = std.f3(c);
    	std.f4();
    
    	return 0;
    }
    

    Man verliert natürlich etwas Optimierungspotantial 🤡



  • Spring schrieb:

    Also, wenn du Namespaces möchtest, solltest du C eher sein lassen und direkt zu C++ gehen. Dort ist das Alles vorhanden.

    auf jeden fall. :: als ersatz für _ ist natürlich voll der gewinn.
    🙂



  • ~fricky schrieb:

    auf jeden fall. :: als ersatz für _ ist natürlich voll der gewinn.
    🙂

    using NET_*
    

    geht natürlich auch in C.



  • LordJaxom schrieb:

    ~fricky schrieb:

    auf jeden fall. :: als ersatz für _ ist natürlich voll der gewinn.
    🙂

    using NET_*
    

    geht natürlich auch in C.

    okay, du hast ja recht. aber guck mal in's c++ forum. die meisten schreiben immer brav ihr std:: hin, so als wüssten sie gar nicht, dass es 'using' gibt.
    🙂



  • Mensch Frickel Fricky lass es einfach sein. Du bist weder C++ programierer, noch scheinste Ahnung von den Vorteilen von Namespaces zu haben. Ach stimmt dein super Argument, dass einige Anfänger nicht wissen, dass man Namespaces noch einfacher benutzen kann(Aber so auch nur bei wirklich einfachen Programmen), zeigt natürlich, dass Selbige vollkommen sinnlos sind und das in C ja auch alles super geht.



  • ~fricky schrieb:

    LordJaxom schrieb:

    ~fricky schrieb:

    auf jeden fall. :: als ersatz für _ ist natürlich voll der gewinn.
    🙂

    using NET_*
    

    geht natürlich auch in C.

    okay, du hast ja recht. aber guck mal in's c++ forum. die meisten schreiben immer brav ihr std:: hin, so als wüssten sie gar nicht, dass es 'using' gibt.
    🙂

    Nein, Anfänger halten sich schön an die Online-Tutorials, in denen using namespace std; propagiert wird.
    Wer std:: schreibt sind diejenigen, die helfen; in weiser Vorraussicht, dass der Neuling auch ja nicht einen weiteren Fehler durch Unachtsamkeit in Verbindung mit Namespaces produziert 😉



  • Xantus schrieb:

    Wer std:: schreibt sind diejenigen, die helfen; in weiser Vorraussicht, dass der Neuling auch ja nicht einen weiteren Fehler durch Unachtsamkeit in Verbindung mit Namespaces produziert

    klar, wie sollte es auch anders sein? es gibt 1000 tolle möglichkeiten, aber leider kann man auch mit jeder mindestens 100 fehler produzieren. also wird den leuten von allem abgeraten. *gähn*, das kenn' ich schon.

    Oh Mann schrieb:

    Du bist weder C++ programierer....

    darüber bin ich jetzt aber nicht traurig.
    🙂



  • ~fricky schrieb:

    Oh Mann schrieb:

    Du bist weder C++ programierer....

    darüber bin ich jetzt aber nicht traurig.
    🙂

    Gut, dann solltest du es eventuell sein lassen dich zu solchen Themen wie Namespaces zu äußern, denn dafür braucht man auch Kenntniss darüber. Jemand der Keine Ahnung von Krebs hat, sollte auch nix dazu sagen, kommen eh nur Falschinformationen bei rum. Genauso wie bei dir. Wenn du wirklich im Thema wärst, sähe es Anders aus, aber du mit deinem "von außen Wissen" gibts absolut unqualifizierte Kommentare ab. Zu sehen an deinem Vorschlag mit using.



  • Oh Mann oh Mann! Wenn fricky ausnahmsweise mal eine fehlerhafte oder unzureichende Info vom Stapel gelassen hat, dann korrigier es und gut is'! Kein Grund, hier so einen Aufstand zu machen. Seine Posts sind wenigstens immer freundlich, in guter Absicht, und meistens hilfreich. Das kann man dir nicht behaupten...



  • @Oh Mann: Oh Mann! lass fricky mal in Ruhe, ohne ihn hier würden wir uns ganz schön langweilen 😉



  • Oh Mann schrieb:

    Gut, dann solltest du es eventuell sein lassen dich zu solchen Themen wie Namespaces zu äußern, denn dafür braucht man auch Kenntniss darüber....
    ....aber du mit deinem "von außen Wissen" gibts absolut unqualifizierte Kommentare ab.

    der einzige, unqualifizierte kommentar (ausser den deinen natürlich) in diesem thread ist der von 'spring'. der klingt für mich irgendwie nach 'gehen sie nicht über los und ziehen sie keine x euro ein'. namespaces sind übrigens ein ziemlich allgemeiner begriff und nichts, was eine bestimmte programmiersprache für sich gepachtet hat.

    supertux schrieb:

    @Oh Mann: Oh Mann! lass fricky mal in Ruhe, ohne ihn hier würden wir uns ganz schön langweilen

    so ist es. foren-clown fricky sorgt immer für den nötigen spass bei den sonst recht trockenen themen.
    🙂



  • hier is das ansi c forum, die c++ penner können hier mal schön abhauen ja, danke.


Anmelden zum Antworten