lab132 / krepel

2 stars 0 forks source link

global prefix (namespace) #4

Closed Manuzor closed 9 years ago

Manuzor commented 9 years ago

Da wir in CMake schon preprocessor variablen und anderes zeug setzen werden, sollten wir uns auf einen globalen prefix einigen, den wir im code dann auch als namespace benutzen werden (a la gep oder gpp bzw GEP_ für #defines)

Ich hätte folgende Vorschläge.

kr

kr Ist kurz und müllt den code nicht zu, ist aber trotzdem noch eindeutig

int main(int argc, const char *argv[])
{
    kr::String message("Hello world.");
    KR_ASSERT(message.GetData() != nullptr, "...");
    kr::Log("Message: %s, %d", message.GetData(), KR_COMPILETIME_MIN(1, 2));
    return 0;
}

krpl

krpl ist auch noch relativ kurz und noch eindeutiger. Außerdem sieht es selbst aus wie gekrepel :smiley:

int main(int argc, const char *argv[])
{
    krpl::String message("Hello world.");
    KRPL_ASSERT(message.GetData() != nullptr, "...");
    krpl::Log("Message: %s, %d", message.GetData(), KRPL_COMPILETIME_MIN(1, 2));
    return 0;
}

krepel

krepel ist nicht mehr kurz, aber auch nicht mehr cryptisch. Der Code unten liest sich so auf jeden fall ziemlich lustig :wink:

int main(int argc, const char *argv[])
{
    krepel::String message("Hello world.");
    KREPEL_ASSERT(message.GetData() != nullptr, "...");
    krepel::Log("Message: %s, %d", message.GetData(), KREPEL_COMPILETIME_MIN(1, 2));
    return 0;
}

Im Grunde ist es mir egal und im Zweifelsfall würde ich beim namespace zu der kürzesten Variante greifen, da der namespace operator :: in c++ halt schon 2 character hat und mit langen namespaces wird der benutzende code halt auch entsprechend breiter. Es wäre auch analog zum Ez-style, auch wenn die keinen ez namespace haben:

int main(int argc, const char *argv[])
{
    ezString message("Hello world.");
    EZ_ASSERT(message.GetData() != nullptr, "...");
    ezLog("Message: %s, %d", message.GetData(), EZ_COMPILETIME_MIN(1, 2));
    return 0;
}
juliusf commented 9 years ago

da bin ich ganz bei dir. namespaces so kurz wie möglich. ich wäre für kr als prefix.

Wir können ja überlegen ob wir den engine folder unter code einfach krepel nennen :)

#include 'krepel/PCH.h'