Условное обозначение us / s в статье несколько полезно, но в нем пропущен более важный момент.Дело в том, что соглашения о присвоении имен переменным так же хороши в защите от ошибок, как документация.
Например:
#Version 1
char* sHello = "Hello";
printf("%s\n", sHello);
, который в конечном итоге изменяется на
#Version 2
char* sHello = "Hello";
... 100 lines of code ...
sHello = realloc(sHello, strlen(sHello)+7);
strcpy(sHello+strlen(sHello), " World");
... 100 lines of code ...
printf("%s\n", sHello);
Когда вы действительно хотите, чтобы соглашение о кодировании работало, вы не можете полагаться на какие-то произвольные (и да, все они произвольные) соглашения об именах.Вы должны подкрепить это соглашение об именах средствами неудачной сборки.В приведенном выше случае разумное использование ключевого слова const
помогло бы, но соглашение о кодировании приведёт людей к самоуспокоенности, потому что оно правильно названо.
Это проблема документации во всемОпять же, в конечном итоге документация в коде не синхронизируется с кодом, и ваше соглашение о присвоении имен в коде в конечном итоге будет не синхронизировано с использованием этих имен.
Теперь, если вы хотитечтобы добавить информацию о типах в C (что на самом деле и есть), сделайте это через систему, которая фактически добавляет типы в c, typedef
.Затем создайте систему, которая может проверить, не используется ли тип, когда это необходимо, и завершить сборку.Все остальное будет стоить вам слишком много после поиска, обслуживания и очистки, и половина реализованного стиля кодирования намного хуже, чем даже плохой стиль кодирования.