Добавил:
bekan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Programmalıq támiynat sapasın támiyinlew / 3-ameliy_ST
.pdf
3-ámeliy. Programmalıq támiynat kodın jazıwda standartlastırıwǵa
tiykarlanıw. Formatlaw.
Jumıstıń maqseti: Kodtıń sapasın hám oqılıwın (Readability)
támiyinlewshi "Kod standartları" (Coding Standards) hám "Stiller" (Style
Guides) menen tanıw. Google C++ Style Guide yamasa basqa industrial
standartlar tiykarında kodtı durıs ataw (Naming), sheginiwler (Indentation),
kommentariyler hám formatlaw qaǵıydaların ámeliyatta qollanıw. "Linter" hám
"Formatter" (Clang-Format) qurallarınan paydalanıwdı úyreniw.
Teoriyalıq bólim:
1. Ataw (Naming Conventions):
PascalCase: Klasslar (`MyClass`).
camelCase: Metodlar, ózgeriwshiler (`myVariable`).
snake_case: Standart kitapxana, C stili (`my_function`).
SCREAMING_SNAKE_CASE: Konstantalar (`MAX_SIZE`).
2. Formatlaw (Formatting): Kodtıń vizuallıq strukturası. (Sheginiw,
qawsırmalar `{`, bos orınlar).
3. Hújjetlestiriw: Kodtıń "ne" isleytuǵının emes, "ne ushın" isleytuǵının
túsindiriw.
ÁMELIY BÓLIM:
"Jaman" (standartsız) kodtı "Jaqsı" (standartlı) kodqa aylandıramız.
1-mısal: Ataw (Naming)
Kod (Jaman):
class data {
public:
int A;
void get_val() { cout << A; }
};
// Klass kishi hárip penen, ózgeriwshi úlken hárip penen, metod
snake_case. Aralas.
Kod (Jaqsı - Google Style):
class DataContainer { // PascalCase
private:
int value_; // camelCase + _ (private aǵza)
public:

void getValue() { // camelCase
cout << value_;
}
};
2-mısal: Sheginiw (Indentation) hám Qawsırmalar
Kod (Jaman):
if(x>0){a=b+c;}else{
a=b-c;}
// Bir qatarda, bos orın joq.
Kod (Jaqsı):
if (x > 0) {
a = b + c;
} else {
a = b - c;
}
// Bos orınlar (space) hám 4 probel sheginiw.
3-mısal: Konstantalar
Kod (Jaman):
double area = r * r * 3.14159;
Kod (Jaqsı):
const double PI = 3.14159; // SCREAMING_SNAKE_CASE
double area = r * r * PI;
4-mısal: Kommentariyler

Kod (Jaman):
int i = 0; // i di 0 ge teńlestiriw
i++; // i di arttırıw
// Paydasız kommentariyler ("Ne" ekenin aytıp tur).
Kod (Jaqsı):
// Cikl esaplaǵıshı, maksimal shegaraǵa shekem
for (int i = 0; i < MAX_LIMIT; i++) { ... }
5-mısal: Avtomat formatlaw (Clang-Format)
IDE-da (VS Code, CLion) kodtı avtomat formatlaw ushın `.clang-format` faylı
qollanıladı.
Buyrıq: `clang-format -i main.cpp`
Bul barlıq sheginiwlerdi hám qawsırmalardı standartqa keltiredi.
ÁMELIY TAPSÍRMALAR
1-tapsırma: Refactoring (Ataw).
Tómendegi kodtı Google C++ Style standartına sáykes ózgertiń:
class student_info {
string Name;
int AGE;
void PRINT_INFO() { ... }
};
2-tapsırma: Formatlaw (Indentation).
Tómendegi kodtı durıs sheginiwler (indentation) menen jazıń:

void func(){
if(true){
while(false){
cout<<"Test";
}
}
}
3-tapsırma: Konstanta jaratıw.
Kodtaǵı `100` (massiv ólshemi) hám `0.15` (salıq) sanların atalǵan
konstantalarǵa almastırıń.
4-tapsırma: Linter (Simulyaciya).
Eger Linter "Variable 'x' is uninitialized" degen eskertiw berse, tómendegi kodtı
qalay dúzetesiz?
int x;
cout << x;
5-tapsırma: Style Guide jaratıw.
Ózińizdiń komandańız ushın kishi "Style Guide" (3 qaǵıyda) jazıń.
1. Klass atları...
2. Qawsırma `{` qaysı qatarda...
3. Maksimal qatar uzınlıǵı...
Соседние файлы в папке Programmalıq támiynat sapasın támiyinlew
