Friday, June 5, 2015

თავი 2 (2,11 - 2,12)



2.11 კომენტარები

პროგრამა რაც უფრო დიდი და რთული ხდება, უფრო რთულდება მისი წაკითხვა. რთულია წაიკითხო კოდის ნაწყვეტი და გაიგო რას აკეთებს ან რატო. ამ მიზეზით შეგიძლია დაამატო კომენტარები  შენს პროგრამას, რომ და მშობლიურ ენაზე განმარტო თუ რას აკეთებს პროგრამა. კომენტარი იწყება სიმბოლო # -ით.


# compute the percentage of the hour that has elapsed
percentage = (minute * 100) / 60

ამ შემთხვევაში კომენტარი ცალკე ხაზზეა თუმცა შეგიძლია კომენტარი დაწერო პროგრამის ხაზის ბოლოშიც.

percentage = (minute * 100) / 60 # percentage of an hour

ყველაფერი  დაწყებული კომენტარის სიმბოლოდან - # ხაზის დამთავრებამდე დაიგნორებულია. პროგრამაზე არანაირი ზეგავლენა არ აქვს.
კომენტარები სასარგებლოა, როცა ასაბუთებ არც ისე აშკარა მახასიათებელ კოდს.

ეს კომენტარი ზედმეტი და უსარგებლოა

v = 5 # assign 5 to v

ხოლო ეს კომენტარი შეიცავს სასარგებლო ინფორმაციას, რომელიც არაა აღწერილი კოდში.

v = 5 # velocity in meters/second.

ცვლადის კარგი სახელი ამცირებს კომენტარის საჭიროებას, თუმცა გრძელი სახელი რთულ გამოსახულებას ძნელად წასაკითხს ხდის. კომპრომისი კარგი გამოსავალია.



2.12ცვლადის მენომონიკური სახელი

ცვლადისთვის სახელის შერჩევისას, სანამ მიყვები მარტივ წესებს  და არ არქმევ სახელად "განსაზღვრულ სიტყვას", გაქვს სახელების ფართო არჩევანი. თავიდან ეს არჩევანი შეიძლება იყოს გაუგებარი, როცა კითხულობ პროგრამას ან წერ. მაგალითად ეს პროგრამები იდენტურია იმის მიხედვით თუ რას აკეთებენ, მაგრამ ძალიან განსხვავებული, როცა კითხულობ და ცდილობ გაიგო რა წერია.

a = 35.0
b = 12.50
c = a * b
print c

hours = 35.0
rate = 12.50
pay = hours * rate
print pay

x1q3z9ahd = 35.0
x1q3z9afd = 12.50
x1q3p9afd = x1q3z9ahd * x1q3z9afd
print x1q3p9afd


პითონი სამივე პროგრამას ხედავს როგორც  იდენტურს, მაგრამ ადამიანი აღიქვამს საკმაოდ განსხვავებულად. ადამიანი ბევრად სწრაფად გაიგებს მეორე პროგრამის დანიშნულებას, იმიტომ რომ პროგრამათა ცვლადების სახელებში ასახა თუ რა მონაცემებს შეიძლება ინახავდეს ცვლადები.
კარგად შერჩეულ ცვლადის სახელებს ვეძახით “mnemonic variable names”. სიტყვა mnemonic  ნიშნავს  “memory aid”. ჩვენ ვირჩევთ ცვლადების მენომონიკურ სახელებს რომ დაგვეხმაროს დამახსოვრებაში თუ რისთვის გავაკეთეთ ეს ცვლადი.

უცბათ გადახედე პითონის ამ კოდს, რომელიც მონაცემების მარყუჟს აკეთებს(loops). მარყუჟის შესახებ მალე ვილაპარაკებთ , მარა მანამდე ეცადე გაარკვიო რას ნიშნავს ეს :

for word in words:
      print word

რა ხდება აქ? აქედან (for, word, in, etc.) რომელია განსაზღვრული სიტყვა და რომელი ცვლადის სახელი?  ახალბედებს უჭირთ გარკვევა კოდის რომელი ნაწილია პროგრამისტის მიერ შერჩეული და რომელი არა.

ეს კოდი ზემოთას  იდენტურია:

for slice in pizza:
            print slice

ახალბედასათვის უფრო ადვილია რომ შეხედონ კოდს და იცოდნენ რომელი ნაწილია განსაზღვრული სიტყვები და რომელი პროგრამისტის მიერ შერჩეული ცვლადის სახელები. აშკარაა, რომ პითონმა არ იცის pizza-ს ნამდვილი მნიშვნელობა და ის შერჩეული სახელია.
მოკლე დროის მერე, ისწავლი ძირითად განსაზღვრულ სიტყვებს და პროგრამაში ადვილად იცნობ.

for word in words:
          print word

კოდის ნაწილები, რომელიც განსაზღვრულია პითონის მიერ  (for, in, print,და : ) არის გამუქებული და პროგრამისტის შერჩეული სახელები(word და words) - არა. ბევრი ტექსტური რედაქტორი იცნობს პითონის სინტაქსს და განსაზღვრულ სიტყვებს აძლევს სხვა შეფერილობას, რომ ადვილად განასხვაო ცვლადებისგან. დროთა განმავლობაში დაიწყებ პითონის კოდის კითხვას და გაგებას რომელია ცვლადი და რომელი "გს".