Скачиваний:
0
Добавлен:
20.09.2026
Размер:
261 Кб
Скачать
☆
4-ámeliy jumıs. Programmalıq támiynatta shıǵıw kodlardı hújjetlestiriw.
Jumıstıń maqseti: Kodtıń ishki hújjetlestiriliwin (Internal Documentation)
úyreniw. C++ tilinde Doxygen, Java-da Javadoc standartları tiykarında kodqa túsinikler (Comments) hám anıqlamalar (Annotations) jazıw. Kodtıń API (Application Programming Interface) bólimin basqa programmistlerge túsiniwge ańsat bolatuǵınday etip súwretlew kónlikpelerin qáliplestiriw. "Kodtıń ózi – eń jaqsı hújjet" (Self-documenting code) principin túsiniw.
1. Hújjetlestiriw túrleri:
Paydalanıwshı hújjetleri (Manual). Texnikalıq hújjetler (API docs, Architecture).
2. Doxygen: C++ kodınan avtomat túrde HTML/PDF hújjet jaratıwshı qural.
@brief: Qısqa táriyip. @param: Parametrler. @return: Qaytarıw mánisi.
3. Jaqsı hújjet: "Ne" ekenin emes, "Ne ushın" ekenin túsindiredi.
ÁMELIY BÓLIM:
Kodqa Doxygen stilinde kommentariyler qosamız. 1-mısal: Funkciyanı hújjetlestiriw Kod:
/** * @brief Eki sandı qosıwshı funkciya. * * Bul funkciya pútin sanlardı qabıllaydı hám nátiyjeni qaytaradı. * Tasıp ketiw (Overflow) jaǵdayı tekserilmegen. * * @param a Birinshi qosılıwshı. * @param b Ekinshi qosılıwshı. * @return int Eki sannıń qosındısı. */ int add(int a, int b) { return a + b; }
2-mısal: Klastı hújjetlestiriw Kod:
/** * @brief Student haqqında maǵlıwmat saqlawshı klass. * * Bul klass studenttiń atın hám ID nomerin saqlaydı. */ class Student { private: string name; ///< Studenttiń atı int id; ///< Studenttiń ID nomeri (unikal)
public: /** * @brief Student konstruktorı. * @param n Atı. * @param i ID nomeri. */ Student(string n, int i) : name(n), id(i) {} };
3-mısal: "TODO" hám "FIXME" belgileri Kodtıń ishinde keleshekte isleniwi kerek jerlerdi belgilew.
Kod:
void processData() { // TODO: Bul jerde maǵlıwmatlardı sortlaw kerek // FIXME: 0 ge bóliw qátesi bar, dúzetiw kerek }
4-mısal: Paydasız kommentariya Kod (Jaman):
int i = 0; // i di 0 ge teńlestiriw i++; // i di 1 ge asırıw
// Bul hújjetlestiriw emes, bul "shawqım" (noise). Kodtıń ózi bunı aytıp tur.
Kod (Jaqsı):
// Cikl esaplaǵıshı, maksimal shegaraǵa (MAX_LIMIT) shekem dawam etedi for (int i = 0; i < MAX_LIMIT; i++) { ... }
5-mısal: README.md (Proekt hújjeti) Kodtıń sırtındaǵı hújjet. Mazmunı:
# Mening Proektim
Bul programma studentlerdi basqaradı. ## Ornatıw
`g++ main.cpp -o app` ## Qollanıw `./app`
ÁMELIY TAPSÍRMALAR
1-tapsırma: Doxygen stili.
`double divide(double a, double b)` funkciyasına @brief, @param, @return hám @throw (0 ge bóliw qátesi) tagleri menen kommentariya jazıń.
2-tapsırma: Klass hújjeti.
`Book` klası (`title`, `author`, `year`) ushın tolıq hújjetlestiriw jazıń. (Klass,
atributlar, metodlar).
3-tapsırma: Self-documenting code.
Tómendegi kodtı kommentariyasız túsiniwge ańsat bolatuǵınday etip qayta jazıń (Atawlar arqalı):
// T - waqıt, D - aralıq double calc(double T, double D) { return D / T; }
4-tapsırma: TODO qosıw.
Kodıńızda "paroldi tekseriw" funkciyası bos tursın. Oǵan "TODO: Keleshekte implementaciya etiw" dep jazıp qoyıń.
5-tapsırma: README faylı.
Ózińizdiń 1-ámeliy jumısıńız ushın qısqasha `README.txt` faylın tayarlań (Maqset, Kompilyaciya, Avtor).
Соседние файлы в папке Programmalıq támiynat sapasın támiyinlew