■この記事の概要
この記事は、C言語のコーディング規約のルールを批判し、そのデメリットを紹介しています。
冗長で理解しづらいコード例を示し、現代の開発環境に合った柔軟な規約の必要性を訴えています。
■見直したいコーディング規約
■簡単なプログラムの例
#include <stdio.h>
static char *cat[] ={
"にゃん",
"meows",
"喵喵",
NULL
};
int main(void)
{
for(int i = 0 ; cat[i] != NULL ; i++){
printf("%s\n",cat[i]);
}
}
職業プログラマなら1秒で理解できる
この簡単なプログラムが、
杓子定規のコーディングルールに従うと、、、
■規約を守って難解になった例
#include <stdio.h>
typedef unsigned char U1;
typedef signed int S4;
typedef void VD;
#define ZERO 0U
#define ONE 1U
#define TWO 2U
#define THREE 3U
#define FOUR 4U
#define NOT_ERROR 0
static U1 *cat[FOUR] ={
(U1 *)"にゃん",
(U1 *)"meows",
(U1 *)"喵喵",
NULL
};
S4 main(VD)
{
/* 変数宣言 */
U1 u1_t_loopcounter ;
/* 変数の初期化 */
u1_t_loopcounter = (U1)ZERO ;
for(u1_t_loopcounter = (U1)ZERO ;
(U1 *)NULL != cat[u1_t_loopcounter];
++u1_t_loopcounter){ //カウンターに1を加える
printf("%s\n",(char *)cat[u1_t_loopcounter]);
}
return (S4)NOT_ERROR ;
}
■アンケート
参考: