You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nathan
develop
master
keymap/jackhumbert
joystick_improvements
static_version
feature_supported
make_cli_parsing
refactor_process_record_kb_user
arm_split
autogen_usb_description
revert-7280-chibios_rgblight_sleep
subvendor_ids
subatomic_encoders
encoder_matrix
led_matrix_direct
better_chibios_wait
i18n_docs
fix/print_buffer_overflow
planck_thk
arm-dac-work
titmlb
planck-ez-a5-high
planck_ez_wdg
planck_ez_with_5372
arm_rgb
rgb7seg
peasy
clockworkpi
embedded
subatomic
unorthodox
qwiic_joystiic
automate_kc_prefix
qwiic_hud
matrix_update
peb
pragma_once
edez2
muon_light
qwiic_hub
muon_light_dc
keymap_folders
planck_light_rev2
internal/led_qa
l100
fywut
keycode_versioning
handwire
twi2c
xmega_support
audio_out
gb_port
info_json_populate
pjrc_hid
ps2avrgb
travis_phases
hid_api
sid
keyboards_json
keyboard_identifiers
pp_definitions
eeprom_update
b6_b7_audio
example_keyboards
preonic-1.0
planck-4.0
v4.0
preonic-2.0
planck-light-1.0
planck-6.1
planck-6.0
planck-5.0
planck-4.2
planck-4.1
gh60-0.1
ergodox_ez-161205
breakpoint_2020_02_29
breakpoint_2019_11_30
breakpoint_2019_08_30
LUFA-170418
LUFA-151115
LUFA-140928
LUFA-140302
LUFA-130901-BETA
LUFA-130901
LUFA-111009
0.9.9
0.9.8
0.9.7
0.9.6
0.9.59
0.9.58
0.9.57
0.9.56
0.9.55
0.9.54
0.9.53
0.9.52
0.9.51
0.9.50
0.9.5
0.9.49
0.9.48
0.9.47
0.9.46
0.9.45
0.9.44
0.9.43
0.9.42
0.9.41
0.9.40
0.9.4
0.9.39
0.9.38
0.9.37
0.9.36
0.9.35
0.9.34
0.9.33
0.9.32
0.9.31
0.9.30
0.9.3
0.9.29
0.9.28
0.9.27
0.9.26
0.9.25
0.9.24
0.9.23
0.9.22
0.9.21
0.9.20
0.9.2
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.11
0.9.10
0.9.1
0.9.0
0.8.99
0.8.98
0.8.97
0.8.96
0.8.95
0.8.94
0.8.93
0.8.92
0.8.91
0.8.90
0.8.9
0.8.89
0.8.88
0.8.87
0.8.86
0.8.85
0.8.84
0.8.83
0.8.82
0.8.81
0.8.80
0.8.8
0.8.79
0.8.78
0.8.77
0.8.76
0.8.75
0.8.74
0.8.73
0.8.72
0.8.71
0.8.70
0.8.7
0.8.69
0.8.68
0.8.67
0.8.66
0.8.65
0.8.64
0.8.63
0.8.62
0.8.61
0.8.60
0.8.6
0.8.59
0.8.58
0.8.57
0.8.56
0.8.55
0.8.54
0.8.53
0.8.52
0.8.51
0.8.50
0.8.5
0.8.49
0.8.48
0.8.47
0.8.46
0.8.45
0.8.44
0.8.43
0.8.42
0.8.41
0.8.40
0.8.4
0.8.39
0.8.38
0.8.37
0.8.36
0.8.35
0.8.34
0.8.33
0.8.32
0.8.31
0.8.30
0.8.3
0.8.29
0.8.28
0.8.27
0.8.26
0.8.25
0.8.24
0.8.23
0.8.22
0.8.21
0.8.20
0.8.2
0.8.192
0.8.191
0.8.190
0.8.19
0.8.189
0.8.188
0.8.187
0.8.186
0.8.185
0.8.184
0.8.183
0.8.182
0.8.181
0.8.180
0.8.18
0.8.179
0.8.178
0.8.177
0.8.176
0.8.175
0.8.174
0.8.173
0.8.172
0.8.171
0.8.170
0.8.17
0.8.169
0.8.168
0.8.167
0.8.166
0.8.165
0.8.164
0.8.163
0.8.162
0.8.161
0.8.160
0.8.16
0.8.159
0.8.158
0.8.157
0.8.156
0.8.155
0.8.154
0.8.153
0.8.152
0.8.151
0.8.150
0.8.15
0.8.149
0.8.148
0.8.147
0.8.146
0.8.145
0.8.144
0.8.143
0.8.142
0.8.141
0.8.140
0.8.14
0.8.139
0.8.138
0.8.137
0.8.136
0.8.135
0.8.134
0.8.133
0.8.132
0.8.131
0.8.130
0.8.13
0.8.129
0.8.128
0.8.127
0.8.126
0.8.125
0.8.124
0.8.123
0.8.122
0.8.121
0.8.120
0.8.12
0.8.119
0.8.118
0.8.117
0.8.116
0.8.115
0.8.114
0.8.113
0.8.112
0.8.111
0.8.110
0.8.11
0.8.109
0.8.108
0.8.107
0.8.106
0.8.105
0.8.104
0.8.103
0.8.102
0.8.101
0.8.100
0.8.10
0.8.1
0.8.0
0.7.99
0.7.98
0.7.97
0.7.96
0.7.95
0.7.94
0.7.93
0.7.92
0.7.91
0.7.90
0.7.9
0.7.89
0.7.88
0.7.87
0.7.86
0.7.85
0.7.84
0.7.83
0.7.82
0.7.81
0.7.80
0.7.8
0.7.79
0.7.78
0.7.77
0.7.76
0.7.75
0.7.74
0.7.73
0.7.72
0.7.71
0.7.70
0.7.7
0.7.69
0.7.68
0.7.67
0.7.66
0.7.65
0.7.64
0.7.63
0.7.62
0.7.61
0.7.60
0.7.6
0.7.59
0.7.58
0.7.57
0.7.56
0.7.55
0.7.54
0.7.53
0.7.52
0.7.51
0.7.50
0.7.5
0.7.49
0.7.48
0.7.47
0.7.46
0.7.45
0.7.44
0.7.43
0.7.42
0.7.41
0.7.40
0.7.4
0.7.39
0.7.38
0.7.37
0.7.36
0.7.35
0.7.34
0.7.33
0.7.32
0.7.31
0.7.30
0.7.3
0.7.29
0.7.28
0.7.27
0.7.26
0.7.25
0.7.24
0.7.23
0.7.22
0.7.21
0.7.20
0.7.2
0.7.19
0.7.18
0.7.172
0.7.171
0.7.170
0.7.17
0.7.169
0.7.168
0.7.167
0.7.166
0.7.165
0.7.164
0.7.163
0.7.162
0.7.161
0.7.160
0.7.16
0.7.159
0.7.158
0.7.157
0.7.156
0.7.155
0.7.154
0.7.153
0.7.152
0.7.151
0.7.150
0.7.15
0.7.149
0.7.148
0.7.147
0.7.146
0.7.145
0.7.144
0.7.143
0.7.142
0.7.141
0.7.140
0.7.14
0.7.139
0.7.138
0.7.137
0.7.136
0.7.135
0.7.134
0.7.133
0.7.132
0.7.131
0.7.130
0.7.13
0.7.129
0.7.128
0.7.127
0.7.126
0.7.125
0.7.124
0.7.123
0.7.122
0.7.121
0.7.120
0.7.12
0.7.119
0.7.118
0.7.117
0.7.116
0.7.115
0.7.114
0.7.113
0.7.112
0.7.111
0.7.110
0.7.11
0.7.109
0.7.108
0.7.107
0.7.106
0.7.105
0.7.104
0.7.103
0.7.102
0.7.101
0.7.100
0.7.10
0.7.1
0.7.0
0.6.99
0.6.98
0.6.97
0.6.96
0.6.95
0.6.94
0.6.93
0.6.92
0.6.91
0.6.90
0.6.9
0.6.89
0.6.88
0.6.87
0.6.86
0.6.85
0.6.84
0.6.83
0.6.82
0.6.81
0.6.80
0.6.8
0.6.79
0.6.78
0.6.77
0.6.76
0.6.75
0.6.74
0.6.73
0.6.72
0.6.71
0.6.70
0.6.7
0.6.69
0.6.68
0.6.67
0.6.66
0.6.65
0.6.64
0.6.63
0.6.62
0.6.61
0.6.60
0.6.6
0.6.59
0.6.58
0.6.57
0.6.56
0.6.55
0.6.54
0.6.53
0.6.52
0.6.51
0.6.50
0.6.5
0.6.49
0.6.48
0.6.47
0.6.463
0.6.462
0.6.461
0.6.460
0.6.46
0.6.459
0.6.458
0.6.457
0.6.456
0.6.455
0.6.454
0.6.453
0.6.452
0.6.451
0.6.450
0.6.45
0.6.449
0.6.448
0.6.447
0.6.446
0.6.445
0.6.444
0.6.443
0.6.442
0.6.441
0.6.440
0.6.44
0.6.439
0.6.438
0.6.437
0.6.436
0.6.435
0.6.434
0.6.433
0.6.432
0.6.431
0.6.430
0.6.43
0.6.429
0.6.428
0.6.427
0.6.426
0.6.425
0.6.424
0.6.423
0.6.422
0.6.421
0.6.420
0.6.42
0.6.419
0.6.418
0.6.417
0.6.416
0.6.415
0.6.414
0.6.413
0.6.412
0.6.41
0.6.406
0.6.405
0.6.404
0.6.403
0.6.402
0.6.401
0.6.400
0.6.40
0.6.4
0.6.399
0.6.398
0.6.397
0.6.396
0.6.395
0.6.394
0.6.393
0.6.392
0.6.391
0.6.390
0.6.39
0.6.389
0.6.388
0.6.387
0.6.386
0.6.385
0.6.384
0.6.383
0.6.382
0.6.381
0.6.380
0.6.38
0.6.379
0.6.378
0.6.377
0.6.376
0.6.375
0.6.374
0.6.373
0.6.372
0.6.371
0.6.370
0.6.37
0.6.369
0.6.368
0.6.367
0.6.366
0.6.365
0.6.364
0.6.363
0.6.362
0.6.361
0.6.360
0.6.36
0.6.359
0.6.358
0.6.357
0.6.356
0.6.355
0.6.354
0.6.353
0.6.352
0.6.351
0.6.350
0.6.35
0.6.349
0.6.348
0.6.347
0.6.346
0.6.345
0.6.344
0.6.343
0.6.342
0.6.341
0.6.340
0.6.34
0.6.339
0.6.338
0.6.337
0.6.336
0.6.335
0.6.334
0.6.333
0.6.332
0.6.331
0.6.330
0.6.33
0.6.329
0.6.328
0.6.327
0.6.326
0.6.325
0.6.324
0.6.323
0.6.322
0.6.321
0.6.320
0.6.32
0.6.319
0.6.318
0.6.317
0.6.316
0.6.315
0.6.314
0.6.313
0.6.312
0.6.311
0.6.310
0.6.31
0.6.309
0.6.308
0.6.307
0.6.306
0.6.305
0.6.304
0.6.303
0.6.302
0.6.301
0.6.300
0.6.30
0.6.3
0.6.299
0.6.298
0.6.297
0.6.296
0.6.295
0.6.294
0.6.293
0.6.292
0.6.291
0.6.290
0.6.29
0.6.289
0.6.288
0.6.287
0.6.286
0.6.285
0.6.284
0.6.283
0.6.282
0.6.281
0.6.280
0.6.28
0.6.279
0.6.278
0.6.277
0.6.276
0.6.275
0.6.274
0.6.273
0.6.272
0.6.271
0.6.270
0.6.27
0.6.269
0.6.268
0.6.267
0.6.266
0.6.265
0.6.264
0.6.263
0.6.262
0.6.261
0.6.260
0.6.26
0.6.259
0.6.258
0.6.257
0.6.256
0.6.255
0.6.254
0.6.253
0.6.252
0.6.251
0.6.250
0.6.25
0.6.249
0.6.248
0.6.247
0.6.246
0.6.245
0.6.244
0.6.243
0.6.242
0.6.241
0.6.240
0.6.24
0.6.239
0.6.238
0.6.237
0.6.236
0.6.235
0.6.234
0.6.233
0.6.232
0.6.231
0.6.230
0.6.23
0.6.229
0.6.228
0.6.227
0.6.226
0.6.225
0.6.224
0.6.223
0.6.222
0.6.221
0.6.220
0.6.22
0.6.219
0.6.218
0.6.217
0.6.216
0.6.215
0.6.214
0.6.213
0.6.212
0.6.211
0.6.210
0.6.21
0.6.209
0.6.208
0.6.207
0.6.206
0.6.205
0.6.204
0.6.203
0.6.202
0.6.201
0.6.200
0.6.20
0.6.2
0.6.199
0.6.198
0.6.197
0.6.196
0.6.195
0.6.194
0.6.193
0.6.192
0.6.191
0.6.190
0.6.19
0.6.189
0.6.188
0.6.187
0.6.186
0.6.185
0.6.184
0.6.183
0.6.182
0.6.181
0.6.180
0.6.18
0.6.179
0.6.178
0.6.177
0.6.176
0.6.175
0.6.174
0.6.173
0.6.172
0.6.171
0.6.170
0.6.17
0.6.169
0.6.168
0.6.167
0.6.166
0.6.165
0.6.164
0.6.163
0.6.162
0.6.161
0.6.160
0.6.16
0.6.159
0.6.158
0.6.157
0.6.156
0.6.155
0.6.154
0.6.153
0.6.152
0.6.151
0.6.150
0.6.15
0.6.149
0.6.148
0.6.147
0.6.146
0.6.145
0.6.144
0.6.143
0.6.142
0.6.141
0.6.140
0.6.14
0.6.139
0.6.138
0.6.137
0.6.136
0.6.135
0.6.134
0.6.133
0.6.132
0.6.131
0.6.130
0.6.13
0.6.129
0.6.128
0.6.127
0.6.126
0.6.125
0.6.124
0.6.123
0.6.122
0.6.121
0.6.120
0.6.12
0.6.119
0.6.118
0.6.117
0.6.116
0.6.115
0.6.114
0.6.113
0.6.112
0.6.111
0.6.110
0.6.11
0.6.109
0.6.108
0.6.107
0.6.106
0.6.105
0.6.104
0.6.103
0.6.102
0.6.101
0.6.100
0.6.10
0.6.1
0.6.0
0.5.99
0.5.98
0.5.97
0.5.96
0.5.95
0.5.94
0.5.93
0.5.92
0.5.91
0.5.90
0.5.9
0.5.89
0.5.88
0.5.87
0.5.86
0.5.85
0.5.84
0.5.83
0.5.82
0.5.81
0.5.80
0.5.8
0.5.79
0.5.78
0.5.77
0.5.76
0.5.75
0.5.74
0.5.73
0.5.72
0.5.71
0.5.70
0.5.7
0.5.69
0.5.68
0.5.67
0.5.66
0.5.65
0.5.64
0.5.63
0.5.62
0.5.61
0.5.60
0.5.6
0.5.59
0.5.58
0.5.57
0.5.56
0.5.55
0.5.54
0.5.53
0.5.52
0.5.51
0.5.50
0.5.5
0.5.49
0.5.48
0.5.47
0.5.46
0.5.45
0.5.44
0.5.43
0.5.42
0.5.41
0.5.40
0.5.4
0.5.39
0.5.38
0.5.37
0.5.36
0.5.35
0.5.34
0.5.33
0.5.32
0.5.31
0.5.30
0.5.3
0.5.29
0.5.28
0.5.27
0.5.264
0.5.263
0.5.262
0.5.261
0.5.260
0.5.26
0.5.259
0.5.258
0.5.257
0.5.256
0.5.255
0.5.254
0.5.253
0.5.252
0.5.251
0.5.250
0.5.25
0.5.249
0.5.248
0.5.247
0.5.246
0.5.245
0.5.244
0.5.243
0.5.242
0.5.241
0.5.240
0.5.24
0.5.239
0.5.238
0.5.237
0.5.236
0.5.235
0.5.234
0.5.233
0.5.232
0.5.231
0.5.230
0.5.23
0.5.229
0.5.228
0.5.227
0.5.226
0.5.225
0.5.224
0.5.223
0.5.222
0.5.221
0.5.220
0.5.22
0.5.219
0.5.218
0.5.217
0.5.216
0.5.215
0.5.214
0.5.213
0.5.212
0.5.211
0.5.210
0.5.21
0.5.209
0.5.208
0.5.207
0.5.206
0.5.205
0.5.204
0.5.203
0.5.202
0.5.201
0.5.200
0.5.20
0.5.2
0.5.199
0.5.198
0.5.197
0.5.196
0.5.195
0.5.194
0.5.193
0.5.192
0.5.191
0.5.190
0.5.189
0.5.188
0.5.187
0.5.186
0.5.185
0.5.184
0.5.183
0.5.182
0.5.181
0.5.180
0.5.179
0.5.178
0.5.177
0.5.176
0.5.175
0.5.174
0.5.173
0.5.172
0.5.171
0.5.170
0.5.17
0.5.169
0.5.168
0.5.167
0.5.166
0.5.165
0.5.164
0.5.163
0.5.162
0.5.161
0.5.160
0.5.16
0.5.159
0.5.158
0.5.157
0.5.156
0.5.155
0.5.154
0.5.153
0.5.152
0.5.151
0.5.150
0.5.15
0.5.149
0.5.148
0.5.147
0.5.146
0.5.145
0.5.144
0.5.143
0.5.142
0.5.141
0.5.140
0.5.14
0.5.139
0.5.138
0.5.137
0.5.136
0.5.135
0.5.134
0.5.133
0.5.132
0.5.131
0.5.130
0.5.13
0.5.129
0.5.128
0.5.127
0.5.126
0.5.125
0.5.124
0.5.123
0.5.122
0.5.121
0.5.120
0.5.12
0.5.119
0.5.118
0.5.117
0.5.116
0.5.115
0.5.114
0.5.113
0.5.112
0.5.111
0.5.110
0.5.11
0.5.109
0.5.108
0.5.107
0.5.106
0.5.105
0.5.104
0.5.103
0.5.102
0.5.101
0.5.100
0.5.10
0.5.1
0.5.0
0.10.9
0.10.8
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.24
0.10.23
0.10.22
0.10.21
0.10.20
0.10.2
0.10.19
0.10.18
0.10.17
0.10.16
0.10.15
0.10.14
0.10.13
0.10.12
0.10.11
0.10.10
0.10.1
0.10.0
${ noResults }
4.7 KiB
4.7 KiB
コーディング規約 (C)
私たちのスタイルのほとんどはかなり理解しやすいですが、現時点では完全に一貫しているわけではありません。変更箇所周辺のコードのスタイルと一致させる必要がありますが、そのコードに一貫性が無い場合や不明瞭な場合は以下のガイドラインに従ってください:
- 4つのスペース (ソフトタブ) を使ってインデントします。
- 修正版 One True Brace Style を使います。
- 開き括弧: ブロックを開始する文と同じ行の最後
- 閉じ括弧: ブロックを開始した文と同じ字下げ
- Else If: 行の先頭に閉じ括弧を置き、次の開き括弧を同じ行の最後に置きます。
- 省略可能な括弧: 常に括弧を付け加えます。
- 良い: if (condition) { return false; }
- 悪い: if (condition) return false;
- C 形式のコメントの使用を推奨します:
/* */
- コメントを機能を説明するストーリーと考えて下さい。
- 特定の決定がなされた理由を充分なコメントで説明してください。
- 分かり切ったコメントは書かないでください。
- 分かり切ったコメントであるか確信できない場合は、コメントを含めてください。
- 一般的に、行を折り返さないで、必要なだけ長くすることができます。行を折り返すことを選択した場合は、76列を超えて折り返さないでください。
- 古い形式のインクルードガード (
#ifndef THIS_FILE_H
、#define THIS_FILE_H
、...、#endif
) ではなく、ヘッダファイルの先頭で#pragma once
を使います。 - プリプロセッサ if の両方の形式を受け付けます:
#ifdef DEFINED
と#if defined(DEFINED)
- どちらがいいかわからない場合は、
#if defined(DEFINED)
形式を使ってください。 - 複数の条件
#if
に移行する場合を除き、既存のコードを別のスタイルに変更しないでください。
- どちらがいいかわからない場合は、
- プリプロセッサディレクティブをインデントする方法(あるいはするかどうか)を決定する時は、以下の事に留意してください:
- 一貫性よりも読みやすさが重要です。
- ファイルの既存のスタイルに従ってください。ファイルのスタイルが混在している場合は、修正しようとしているセクションに適したスタイルに従ってください。
- インデントする時は、ハッシュを行の先頭に置き、
#
とif
の間に空白を追加します。#
の後ろに4つスペースを入れて開始します。 - 周りの C コードのインデントレベルに従うか、プリプロセッサのディレクティブに独自のインデントレベルを設定することができます。コードの意図を最もよく伝えるスタイルを選択してください。
わかりやすいように例を示します:
/* Enums for foo */
enum foo_state {
FOO_BAR,
FOO_BAZ,
};
/* Returns a value */
int foo(void) {
if (some_condition) {
return FOO_BAR;
} else {
return -1;
}
}
clang-format を使った自動整形
Clang-format は LLVM の一部で、誰もが手動で整形するほど暇ではないため、コードを自動整形することができます。私たちは、上記のコーディング規約のほとんどを適用する設定ファイルを提供しています。空白と改行のみを変更するため、省略可能な括弧は自分で付け加えることを忘れないでください。
Windows で clang-format を入手するには full LLVM インストーラを使い、Ubuntu では sudo apt install clang-format
を使ってください。
コマンドラインから実行する場合、オプションとして -style=file
を渡すと、QMK ルートディレクトリ内の .clang-format 設定ファイルを自動的に見つけます。
VSCode を使う場合は、標準の C/C++ プラグインが clang-format をサポートしますが、その他にも 独立した拡張機能 があります。
幾つかのコード (LAYOUT マクロのような)が clang-format によって破壊されるため、これらのファイルで clang-format を実行しないか、整形したくないコードを // clang-format off
と // clang-format on
で囲みます。