2020, jeeeerrrpop
每個人都有自己寫Code的風格習慣。
neoj-2333 訊息處理
#include <iostream>
int cnt[26];
int main() {
int n; std::cin >> n;
for(int i = 0; i < n; i++) {
char c; std::cin >> c;
if(c >= 'a' && c <= 'z') {
std::cout << c;
cnt[c - 'a']++;
}
if(c >= 'A' && c <= 'Z') {
std::cout << char(c - ('A'- 'a'));
cnt[c - 'A']++;
}
}
std::cout << std::endl;
for(int i = 0; i < 26; i++) {
std::cout << cnt[i] << " \n"[i == 25];
}
return 0;
}
#include <iostream>
int cc[26];
int main(){int n;
std::cin>>n;
for(int i=0;i<n;i++)
{char c;
std::cin>>c;
if(c>='a'&&c<='z'){
std::cout<<c;
cc[c-'a']++;
}if(c >= 'A'&&c<='Z'){
std::cout<<char(c-('A'-'a'));cc[c-'A']++;
}
} std::cout<<std::endl;
for(int i=0;i<26;i++)std::cout<<cc[i]<<" \n"[i == 25];
return 0;
}
並沒有哪種 Coding Style 是絕對最完美的
(宗教戰爭)
命名規則
變數命名
void f(int a[], int n) {
int s = 0;
for(int i = 0; i < n; i++) {
s += a[i];
}
return s;
}
TL;DR
camelCase
PascalCase
snake_case
小駝峰(lower camel case) 第一個單字的首字母小寫,其餘單字首字母大寫
大駝峰(upper camel case,Pascal Case) 首字母也大寫
snake_case 用 _ 來分隔單字
void CalcArraySum(int array[], int array_size) {
int arraySum = 0;
for(int i = 0; i < array_size; i++) {
arraySum += array[i];
}
return arraySum;
}
// 使用哪個命名規則也要一致
Google says…
if () {
} else {
}
if(){
}
else{
}
//for(int i=0;i<n;i++)
for(int i = 0; i < n; i++)
//int c=(a+b)/2
int c = (a + b) / 2;
//cin>>a>>b>>c;
cin >> a >> b >> c;
// function(int a,int b,intc)
function(int a, int b, int c)
meow
meow
各有優缺點
重要的是要一致以避免轉換平台的時候排版亂掉
void CalcArraySum(int array[], int array_size) {
int arraySum;
for(int i = 0; i < array_size; i++) {
arraySum += array[i];
}
return arraySum;
}
for(int i = 0; i < n; i++) {
for(int i = 0; i < n; i++) {
int tmp = i;
}
}
對於有特別意義或是重複的操作,可以寫成function,以維持易讀性。
if(x >= 1 && x <= n && y >= 1 && y <= n) {
......
}
//
bool InGrid(int x, int y) {
return x >= 1 && x <= n && y >= 1 && y <= n;
}
......
if(InGrid(x, y)) {
......
}