Автоматты аударма пайдаланылды

📚 SDE Best Practices: мінез-құлық vs іске асыру

Python - да өнеркәсіптік даму курсында көптеген керемет сұрақтар қойылады. Мен олардың кейбіреулеріне жауаптармен бөлісуді жалғастырамын.

❓Сұрақ: сынып __EQ _ _ әдісін қолдануы керек пе?

Мен тезисті тәжірибеге енгізуді ұсынамын:

іске асыруды емес, мінез-құлықты тексеру керек

X және y атрибуттары бар point сыныбын енгізуді қарастырыңыз:

class Point:

    def __init__(self, x, y):

        self.x = x

        self.y = y

А және В класының нысандарын жасайық:

a = Point(x=1, y=2)

b = Point(x=1, y=2)

Сұрақ: нысандардың тең екенін қалай тексересіз?

Логикалық жауап:

a == b

// бұл мінез-құлықты тексеру болды

Сіз тексермейсіз:

a.x == b.x and a.y == b.y

// бұл іске асыруды тексеру болар еді

Қолданбаның сынақтары іске асырудың орнына мінез-құлықты тексерумен толтырылуы керек. Бұл жағдайда кодты сақтау және жаңарту әлдеқайда оңай болады.

Бастапқы сұраққа оралайық: егер __EQ _ _ әдісі орындалмаса, онда A және b нысандары тең болмайды. Неліктен? Әдепкі __eq__ әрекеті қандай?

#work #study

Пікірлер 0

Кіру пікір қалдыру үшін