|
|
|
похожий код в методах
|
|||
|---|---|---|---|
|
#18+
Лир. отсупление: игра домино. есть класс змейка, которой в конец или начало можно добавлять одну фишку домино. проблема в следующем: в методах attach_head и attach_tail код, как вы, наверняка заметили очень похож. Смысл кода в этих методах таков: если фишки на концах змейки стыкуются, то присоединить новую фишку, если не стыкуются кинуть исключение. Такая похожесть чреватата тем, что при внесении изменений , например, в метод attach_head (скажем, нужна новая проверка) жизненно необходимо в ручную менять код и в attach_tail. Вопрос: как от этого избавится, чтобы изменения касались только какой-то одной части? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2004, 01:22 |
|
||
|
похожий код в методах
|
|||
|---|---|---|---|
|
#18+
о какой части вы говорите? поменяите свойство is_attachible... кидайте разные исключения например CANNOT_ATTACH_HEAD.. итд. да что угодно можно придумать. Не совсем понял зачем старатся озадачить других людей такой ерундой? //Не сочтите за оскорбление, не со зла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2004, 02:16 |
|
||
|
похожий код в методах
|
|||
|---|---|---|---|
|
#18+
прохожий кексо какой части вы говорите? Не совсем понял зачем старатся озадачить других людей такой ерундой? стралася как можно яснее объяснить.. видимо не получается :-) вот об этой спрашиваю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Во-первых, is_attachible вовсе не свойство. Это метод, который просто говорит можно ли состыковать две произвольные фишки, а в детали его реализации IMHO лезть вовсе не стоит. Во-вторых, новые исключения вроде предложеных (детализация CANNOT_ATTACH) вообще ничего не даст. /* не со зла, но если вы не до конца поняли задачу, то эмоции можно придержать при себе. а вопрос потому, что в коде пишут именно ЧТО УГОДНО. Последствия такого кода я уже пояснял. Хорошо, когда всего два метода вот таких, а если их больше пяти?? */ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2004, 12:26 |
|
||
|
похожий код в методах
|
|||
|---|---|---|---|
|
#18+
Cовета на все случаи жизни Вам никто не даст. А так, в данном конкретном случае добавление узла достаточно легко обобщается: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Реализация методов attach_head и attach_tail становится тривиальной, а вся функциональность по присоединению сосредотачивается в одном месте, а именно в attach_to: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2004, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32824711&tid=2033995]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
246ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 568ms |

| 0 / 0 |
