2. tēma: 2.4 Koda stils un komentāri

Tavs šīs stundas izaicinājums: Lietot profesionālus koda rakstīšanas standartus, sastādīt skaidrus komentārus un strukturēt programmu tā, lai tā būtu saprotama gan datoram, gan citiem izstrādātājiem.

2.4.8. Dokumentē kodu un ievero koda noformēšanas vadlīnijas.

Teorija: Profesionāla koda kultūra

Programmēšanā koda lasāmība ir tikpat svarīga kā tā funkcionalitāte. Lūk, galvenie standarti:

1. uzdevums: Duelīša "higiēna"

Izmanto dokumentācijas virknes un vienas rindas komentārus, lai loģiski strukturētu jaunu programmu.

Izpildes soļi:

  1. VS Code izveido jaunu failu dokumentets_duelis.py.
  2. Faila pašā augšā pievieno Docstring ("""), kurā norādi programmas mērķi, savu vārdu un datumu.
  3. Izveido kodu, kas pieprasa ievadīt divu spēlētāju vārdus, izmantojot input().
  4. Virs katras datu ievades rindas pievieno komentāru (#), izskaidrojot, kāda informācija šeit tiek iegūta.
  5. Saglabā failu un pārliecinies, ka komentāri netraucē programmas izpildei.

2. uzdevums: Mainīgo "pārvērtības" un refaktorēšana

Uzlabo slikti uzrakstītu koda fragmentu, ievērojot Snake Case un PEP 8 standartus.

Izpildes soļi:

  1. Izveido failu tirs_kods.py un iekopē tajā šo problemātisko koda gabalu:
    X = int(input("Speks: "))
    y_BONUSS=10
    REzultAtS=X+y_BONUSS
    print(REzultAtS)
  2. Pārveido mainīgos X, y_BONUSS un REzultAtS atbilstoši Snake Case standartam (piemēram, baze_speks).
  3. Sakārto atstarpes ap vienādības (=) un pluss (+) zīmēm saskaņā ar PEP 8.
  4. Koda beigās pievieno īsu komentāru, kas apraksta, kas tika izvadīts ekrānā.

3. uzdevums: Duelīša matemātiskais modelis

Izveido labi dokumentētu aprēķinu programmu, apvienojot matemātiku ar skaidriem paskaidrojumiem.

Izpildes soļi:

  1. Izveido failu duelisa_logika.py.
  2. Izmanto input() un int(), lai iegūtu divus mainīgos: uzvaru skaitu un zaudējumu skaitu. Nosauc tos atbilstoši Snake Case.
  3. Uzraksti reitinga aprēķinu atbilstoši šai formulai (izmanto pareizas iekavas): $$Reitings = \frac{Uzvaras \times 100}{Zaudējumi + 1}$$
  4. Virs aprēķina pievieno komentāru: # Pieskaitām 1 dalītājam, lai izvairītos no ZeroDivisionError, ja spēlētājam nav zaudējumu.
  5. Izvadi aprēķināto reitingu, izmantojot f-string (piemēram, f"Spēlētāja reitings ir: {reitings}").
  6. Iesūtīt uzdevuma github saiti e-klasē.

Papildus uzdevums: Koda revīzija (Code Review)

Iejūties vecākā izstrādātāja (Senior Developer) lomā un sakārto sarežģītāku koda fragmentu.

Izpildes soļi:

  1. Izveido failu revizija.py.
  2. Uzraksti īsu programmu (vsmaz 5 rindiņas), kurā apzināti iekļauj stila kļūdas (slikti mainīgo nosaukumi, nav atstarpju, nav komentāru).
  3. Faila apakšā izmanto daudzrindu komentāru ("""), lai veiktu sava koda "revīziju" – uzraksti pa punktiem, ko šajā kodā nepieciešams uzlabot.
  4. Izlabo kodu faila augšdaļā, atstājot savu revīzijas ziņojumu apakšā kā pierādījumu paveiktajam darbam.
  5. Veic Commit un pievieno aprakstu "Koda stila uzlabojumi un revīzija".

Biežākās kļūdas (un kā tās labot):

Mainīgo nosaukumu salīdzinājums

Kritērijs Slikts piemērs Labs piemērs (Snake Case)
Skaidrība s = 100 sakuma_dzivibas = 100
Konsekvence SpeletajaVards speletaja_vards
Jēga d1, d2, d3 speks, aizsardziba, veiksme

Profesionāla koda paraugs

"""
Vienkāršs aprēķinu skripts cīņas mehānikai.
Izmanto PEP 8 standartus un atbilstošus mainīgo nosaukumus.
"""

ienaidnieka_hp = 100
mana_jauda = 25

# Aprēķins, ievērojot PEP 8 atstarpes ap operatoriem
atlikums = ienaidnieka_hp - mana_jauda

print(f"Ienaidniekam palika {atlikums} HP.")
Ienaidniekam palika 75 HP.
⬅ Iepriekšējā stunda Nākamā stunda ➡