Неожиданно правильное поведение программ

Для просмотра ссылки Войди или Зарегистрируйся , это уже какой-то роботофобией отдает. ;)Интерфейсы, абстрактные классы и прочие прочие вещи предназначены не только для минимизации ошибок, но и для реализации полиморфизма и инкапсуляции.
====

Есть теория, а есть практика. И на практике по настоящему большой проект, с большой командой практически невозможно реализовать понимая все процессы и детали.

Если логика находится в заложенных рамках, если структурно все достаточно разделено, чтобы всегда можно было все найти. Если все правильно задокументированно, и система умолчаний обеспечивает достаточный уровень надежности и безопасности, то можно и не знать всю логику работы.
Здесь вьюв, здесь модель, здесь хук модели для такого-то интерфейса. А вот здесь бизнес-логика. Ну а вот тут интерфейсы и документация. Всё.


ПЫСЫ: Люблю идеальных людей пишущих идеальный код без ошибок. ;)
 
Интерфейсы, абстрактные классы и прочие прочие вещи предназначены не только для минимизации ошибок, но и для реализации полиморфизма и инкапсуляции.
И?
Есть теория, а есть практика. И на практике по настоящему большой проект, с большой командой практически невозможно реализовать понимая все процессы и детали.

Если логика находится в заложенных рамках, если структурно все достаточно разделено, чтобы всегда можно было все найти. Если все правильно задокументированно, и система умолчаний обеспечивает достаточный уровень надежности и безопасности, то можно и не знать всю логику работы.
Здесь вьюв, здесь модель, здесь хук модели для такого-то интерфейса. А вот здесь бизнес-логика. Ну а вот тут интерфейсы и документация. Всё.


ПЫСЫ: Люблю идеальных людей пишущих идеальный код без ошибок. ;)
Я тебе и не говорю, что ты должен понимать всю архитектуру (если ты не архитектор конечно), но свою часть работы должен на все 100% понимать. Если не понимаешь - ССЗБ (нужно было комментировать, писать нормальный код и т.п.).

>Если логика находится в заложенных рамках
Да! И для того, чтобы она там и продолжала находится пишется модульное тестирование (про него тебе на хабре написали). С нормальным тестированием ты б уже давно этот баг отловил.
 
Опять таки ты в очередной раз, как и все твои сторонники попадаешь (или пытаешься меня поймать) в стандартную ловушку - твой предикат рекурсивен: "неполное понимание того как всё работает приводит к неполному пониманию как все работает, а поскольку непоное понимание это проблема, то и неполное понимание это тоже проблема. Т.о. мы доказали что неполное понимание это проблема".
Вопрос - и кто тут ССЗБ? ;)

Не пойми меня привратно - я вполне принимаю критику и советы. Пару лет назад я от многих таких высказываний отмахивался, и потом таки пришел к глубокому рефакторингу. Но я принимаю только аргументированную критику. Даже если это звучит как "жопой чую, что неправильно это. А объяснить не могу!". Это аргументированно. А "это все неправильно потому что я так сказал, и вообще у тебя проблемы с архитектурой, потому что у тебя проблемы с архитектурой" - неаргументрированно.
 
Опять таки ты в очередной раз, как и все твои сторонники попадаешь (или пытаешься меня поймать) в стандартную ловушку - твой предикат рекурсивен: "неполное понимание того как всё работает приводит к неполному пониманию как все работает, а поскольку непоное понимание это проблема, то и неполное понимание это тоже проблема. Т.о. мы доказали что неполное понимание это проблема".
Вопрос - и кто тут ССЗБ? ;)

Не пойми меня привратно - я вполне принимаю критику и советы. Пару лет назад я от многих таких высказываний отмахивался, и потом таки пришел к глубокому рефакторингу. Но я принимаю только аргументированную критику. Даже если это звучит как "жопой чую, что неправильно это. А объяснить не могу!". Это аргументированно. А "это все неправильно потому что я так сказал, и вообще у тебя проблемы с архитектурой, потому что у тебя проблемы с архитектурой" - неаргументрированно.
Ты себя убедил, что проблемы нет. Поздравляю. Смысла продолжать беседу тогда нету. Приятного секса с твоим проектом.
З.Ы. Для аргументированной критики нужен либо весь исходник проекта, либо полное описание проблемы со всеми подробностями. Но даже тогда ты скажешь, что это неаргументированная критика (забывая, что у каждого свой критерий аргументации, но истина лишь одна).
З.З.Ы. Про тестирование ты так и не услышал.
 
Про тестирование услышал.
Исходник будет когда весь проект дойдет до преАльфа. Тогда можно будет и интерфейсы и прочее покритиковать...
Потом после критики архитектуры исправлю уже реализацию.
По поводу того что нужно "полное описание проблемы" - так это не ко мне. Это к тебе. Проблема то не у меня :)

Тема идеологическая в общем то. Даже не архитектурная :)

ПЫСЫ: Сейчас вот как раз гипотетический пример неожиданного поведения:
Представь себе, что метод "отметить друга" был бы "случайно" объявлен не только у картинки но и у текстовой записи.
Чисто на всякий случай.
dummy-реализация этого метода принимала бы выбранного пользователя, и предоставляла бы классу возможность реализовать уточнение (реально отметить на картинке).
В результате получили бы "случайно" дополнительный функционал, который в продакшене либо был бы отключен, либо дореализован до логического конца....
ПЫПЫСЫ: Пример навеян обсуждением мол "было бы классно если бы была такая фича вконтакте".
 
Назад
Сверху