ひどいコードがclang-formatでどのように整形されるか,styleごとに見てみる.
汚いコード
/*
test comment
*/
#include<stdio.h>
#include<stdlib.h>
int add(const int *a, int n)
{int b=0;
for (int i = 0; i < n; i++) b += a[i];
{ int c=b; /* who knows? */ }
return b;}
int main( ){
int i,n=5; // numbers
int data[n]; /* array */
int *p = data; // what ?
for(i=0;i<n;i++)
{
data[i]=i;
}
add(data,n); return 0;
}
LLVM
-style=LLVM
/*
test comment
*/
#include <stdio.h>
#include <stdlib.h>
int add(const int *a, int n) {
int b = 0;
for (int i = 0; i < n; i++)
b += a[i];
{ int c = b; /* who knows? */ }
return b;
}
int main() {
int i, n = 5; // numbers
int data[n]; /* array */
int *p = data; // what ?
for (i = 0; i < n; i++) {
data[i] = i;
}
add(data, n);
return 0;
}
-style=Google
/*
test comment
*/
#include <stdio.h>
#include <stdlib.h>
int add(const int *a, int n) {
int b = 0;
for (int i = 0; i < n; i++) b += a[i];
{ int c = b; /* who knows? */ }
return b;
}
int main() {
int i, n = 5; // numbers
int data[n]; /* array */
int *p = data; // what ?
for (i = 0; i < n; i++) {
data[i] = i;
}
add(data, n);
return 0;
}
Chromium
-style=Chromium
/*
test comment
*/
#include <stdio.h>
#include <stdlib.h>
int add(const int* a, int n) {
int b = 0;
for (int i = 0; i < n; i++)
b += a[i];
{ int c = b; /* who knows? */ }
return b;
}
int main() {
int i, n = 5; // numbers
int data[n]; /* array */
int* p = data; // what ?
for (i = 0; i < n; i++) {
data[i] = i;
}
add(data, n);
return 0;
}
Mozilla
-style=Mozilla
/*
test comment
*/
#include <stdio.h>
#include <stdlib.h>
int add(const int *a, int n) {
int b = 0;
for (int i = 0; i < n; i++)
b += a[i];
{ int c = b; /* who knows? */ }
return b;
}
int main() {
int i, n = 5; // numbers
int data[n]; /* array */
int *p = data; // what ?
for (i = 0; i < n; i++) {
data[i] = i;
}
add(data, n);
return 0;
}
WebKit
-style=WebKit
/*
test comment
*/
#include <stdio.h>
#include <stdlib.h>
int add(const int* a, int n)
{
int b = 0;
for (int i = 0; i < n; i++)
b += a[i];
{
int c = b; /* who knows? */
}
return b;
}
int main()
{
int i, n = 5; // numbers
int data[n]; /* array */
int* p = data; // what ?
for (i = 0; i < n; i++) {
data[i] = i;
}
add(data, n);
return 0;
}