Георги обнови решението на 17.12.2011 17:01 (преди около 13 години)
Интересен начин да поставиш Board
в GameOfLife
... Защо не просто:
module GameOfLife
class Board
def ...
end
end
Има ли някаква причина да не е така? :)
Ами така кода е по-вляво. Има по-малка степен на вложеност. Няма друга причина. В интерес на истината не съм си го измислил сам, а съм го забелязвал в реални проекти в github. Така че може и да има някаква друга идея.
Изкуствено е и ако питаш мен, непопулярно. Проблемът с непопулярните неща е, че когато някой друг ги види, започва да се чуди каква е причината това да е така, а не по "стандартния" начин. Затова препоръчвам да се избягват такива непопулярни техники на писане на код. Винаги е готино човек да пробва различни неща, но когато пишеш код, който остава за поколенията, трябва да го пишеш с пет на ум... Трябва да е максимално straight-forward (без това да го прави малоумен, разбира се). Трябва да се търси подходящият баланс.
В конкретния случай, струва ми се, че само по-малката с едно ниво идентация не е достатъчно солидна причина да се излезе от традиционните релси. Но това е само мое мнение, ти имаш право да мислиш по друг начин и в крайна сметка, решението остава твое. Просто искам да знаеш какво според моя опит е по-добре в конкретната ситуация.