Виждам, че много колеги, както и аз хвърляме GeometricError вместо да връщаме False при сравнение на геометричен обект с нещо друго. В задачата не беше дефинирано какво да се прави при такова сравнение, но беше казано, че хвърляме Exception при всяко недефинирано поведение. Това не е ли леко противоречие?
Трета задача
-
15.05.2010
-
В лекцията за TDD Стефан написа част от това домашното и отдели специално внимание на този случай.
Сравнението с==
трябва да връщаFalse
, ако обектите не могат да бъдат сравнявани, а не да хвърля изключение. Ако се замислиш това е поведението на всички обекти, с които си се сблъсквал в Питон.
Това е и поведението на методитеEquals
/equals
в .Net/Java, между другото.
Хвърлянето на изключения в оператор==
би счупило доста неща. В момента се сещам за търсенето на ключове на речникови колекции, но вероятно има още примери.
В обобщение - "не", няма противоречие в условието. Просто има тънък момент.22.05.2010 (променeно 22.05.2010)