Bosh sahifa Wiki Source code

Source code

Source code — dastur xatti-harakatini dasturlash tili, markup, query yoki konfiguratsiya sintaksisida inson o‘qishi va vositalar qayta ishlashi uchun yozilgan matn hamda tegishli fayllardir. Compiler uni machine code yoki bytecodega aylantirishi, interpreter bevosita bajarishi mumkin. Source code ko‘pincha build, test va reviewning asosiy kirishidir.

Tuzilish

Katta loyiha module, package, class, function va data definitionlarga ajraladi. Fayl iyerarxiyasi tilning import qoidasi va arxitektura chegarasini ifodalashi mumkin. Nomlash, formatlash va comment kodning maqsadini tushuntiradi, lekin ishlaydigan semantikani compiler yoki interpreter belgilaydi.

Source bilan birga build script, dependency manifest, schema migration va test ham mahsulot xatti-harakatiga ta’sir qiladi. Faqat src katalogini saqlab, toolchain va dependency versiyasini yo‘qotish keyingi buildni takrorlashni qiyinlashtiradi.

Version control

Repository commitlar orqali o‘zgarish tarixini saqlaydi. Har commit muallif, parent va content snapshotga bog‘lanadi. Branch parallel ishni, merge esa o‘zgarishlarni birlashtirishni ta’minlaydi. Commit history backupning to‘liq o‘rnini bosmaydi; remote nusxa va recovery siyosati zarur.

Code review correctness, security, maintainability va arxitektura ta’sirini tekshiradi. Kichik, maqsadli change reviewni osonlashtiradi. Generated, vendored va binary fayllar diffni shovqinlantirmasligi uchun ular aniq siyosat bilan boshqariladi.

Compiler va semantika

Lexer va parser source’ni token hamda syntax treega aylantiradi. Type checker va semantic analysis nom, type va scope qoidalarini tekshiradi. Compiler optimization xatti-harakatni til standarti doirasida saqlab, boshqa machine instruction ketma-ketligi hosil qilishi mumkin.

Undefined behavior mavjud tillarda source ko‘rinishidan kutilgan natija kafolatlanmasligi mumkin. Platforma, compiler flag va standard versiyasi build inputi sifatida qayd etiladi. Static analysis bajarishdan oldin ehtimoliy nuqsonlarni topadi, lekin barcha runtime holatni isbotlamaydi.

Maxfiylik va litsenziya

Source repositoryga parol, token yoki private key commit qilinmaydi. Secret keyin o‘chirib tashlansa ham historyda qolishi mumkin; u revoke qilinadi va tarix kerak bo‘lsa maxsus jarayon bilan tozalanadi. Secret scanner yordamchi nazorat, to‘g‘ri credential boshqaruvining o‘rnini bosmaydi.

Open-source litsenziya foydalanish, o‘zgartirish va tarqatish shartlarini beradi. Source ko‘rinib turishi avtomatik ravishda open source degani emas; mualliflik huquqi va litsenziya mavjud bo‘lmasa odatiy cheklovlar amal qiladi. Uchinchi tomon kodining notice va source distribution majburiyati tekshiriladi.

Source va artefakt

Bir source turli target, feature flag va dependency bilan turli binary beradi. Release provenance commit, build konfiguratsiyasi va artefakt digestni bog‘laydi. Source map minified yoki transpiled natijani asl source bilan diagnostika uchun moslashtiradi.

Source code mavjudligi deploy qilingan binary aynan undan yaratilganini isbotlamaydi. Reproducible build va code signing bu bo‘shliqni kamaytiradi. Productiondagi aniq version inventar orqali kuzatiladi.

Sifat va evolyutsiya

Source readability faqat estetik talab emas. Aniq boundary, nom va kichik function xatoni reviewda topish hamda security invariantni tushunishni osonlashtiradi. Comment “nima”ni kod bilan takrorlamasdan, nega g‘ayrioddiy qaror qilinganini tushuntiradi.

Refactoring tashqi xatti-harakatni saqlab ichki tuzilmani yaxshilaydi. Testlar shartnomani tekshiradi, lekin past sifatli test implementation detailga bog‘lanib refactorni qiyinlashtirishi mumkin. Deprecated source API replacement va migration davri bilan boshqariladi. Dead code olib tashlanadi, chunki ishlatilmaydigan path ham dependency, vulnerability va tushunish xarajatini saqlashi mumkin. Documentation va source bir change ichida yangilanadi.

Bog‘liq tushunchalar

Compiler, Version control, Repository, Build system, Generated code, Open source, Source map