|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
Сделал на днях тестовый проектик, выложил его онлайн http://files.mail.ru/9220FE0660324B2FA00154D83F8BB467 Был бы очень признателен за объективную критику кода и тд Сразу замечу несколько пунктов: 1) прежде чем выложить онлайн я поменял неймспейсы поэтому он перестал компилироваться - вылетело 4 мелких ошибки но не стал их искать что впрочем для анализа кода не играет роли 2) в БД Name объединяет Имя и Фамилию 3) в проекте есть баги тк тестировал очень мало: например после добавления клиента следующего клиента не добавить - это легкий баг 4) проект написан за 4 вечера так что это тоже надо принять во внимание 5) на UI акцентировать не надо внимание - он сделан очень простенько тк это тестовое задание Заранее спасибо всем кто даст объективную критику ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 00:32 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpf, 1) анализировать код на проекте, который не который не компилируется как-то не кошерно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 10:24 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpf2) в БД Name объединяет Имя и Фамилию издеваетесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 11:00 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
Изопропилwcfwpf2) в БД Name объединяет Имя и Фамилию издеваетесь? Нет, так было задумано теми кто давал задание так что... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 12:25 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
Друзья, пофиксил код чтобы он компилировался и выложил его заного http://files.mail.ru/577464BC6A804310A50B79A7B294F472 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 13:39 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpfДрузья, пофиксил код чтобы он компилировался и выложил его заного http://files.mail.ru/577464BC6A804310A50B79A7B294F472] http://files.mail.ru/577464BC6A804310A50B79A7B294F472 базу можно положить в проект и аттачить при запуске. А то как-то не внушает "Error occured loading data" ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 14:10 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
ИзопропилwcfwpfДрузья, пофиксил код чтобы он компилировался и выложил его заного http://files.mail.ru/577464BC6A804310A50B79A7B294F472] http://files.mail.ru/577464BC6A804310A50B79A7B294F472 базу можно положить в проект и аттачить при запуске. А то как-то не внушает "Error occured loading data" Базу можно создать из модели которая является частью проекта Никакой ошибки в этом сегменте не наблюдается ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2013, 16:16 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
Изопропилбазу можно положить в проект и аттачить при запуске. А то как-то не внушает "Error occured loading data" +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 12:31 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
Nicky_NИзопропилбазу можно положить в проект и аттачить при запуске. А то как-то не внушает "Error occured loading data" +1 А в чем сложность создать базу из модели? пара кликов мышей и все сделано, даже запускать никакие скрипты не надо ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 20:32 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
Молодец! Отличный пример того, как с помощью паттернов и "правильных" методологий проектирования можно размазать на тысячу файлов элементарную задачку! ЗЫ Севе должно понравиццо ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2013, 23:38 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIМолодец! Отличный пример того, как с помощью паттернов и "правильных" методологий проектирования можно размазать на тысячу файлов элементарную задачку! ЗЫ Севе должно понравиццо А что делать, если бы я написал все в onClick ивентах, забацал стор процедуры или просто в sql запросы внутри кода, то отказ был бы моментальный. Собственно и тут был отказ. Причем его усиленно искали :)) сказали что нашли баг что мол после добавления кастомера, другой кастомер не добавить. Ну что тут могу сказать... в медицине есть хорошее определение слабоумия: это когда человек неспособен фокусироваться на главных вещах и делает экстремальный фокус на каких-то несущественных моментах вместо главных. Поэтому вместо того чтобы оценить что сделано за 4 дня, архитектуру, паттерны, технологии, они начинают искать вдруг найдется баг к которому можно придраться. Если бы баг не нашелся, то просто таинственно бы заявили что все это стремно. Однако я не скажу что они слабоумные, я скажу что они просто усиленно искали причину для отказа. Они после этого еще своих коллег подбили, теперь через других хотят (а может не не дойдет до этого) протестировать просто IQ я так понимаю. Могу сказать точно одно, коммерческие интересы у этих ребят на последнем месте и ими руководит совсем другое ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 01:08 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 04:04 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIwcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь. SAPOTSKI, ты все продолжаешь формочки наследовать как winforms? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 10:22 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
SeVaSAPOTSKI, ты все продолжаешь формочки наследовать как winforms? В задачках с тремя табличками в базе, да, продолжаю, потому что это быстро, дешево и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 10:38 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpfМогу сказать точно одно, коммерческие интересы у этих ребят на последнем месте и ими руководит совсем другое Ты нашел, где спрашивать. Неплохо для начала, мои фэ: 1. Должны быть обобщенные варианты viewmodel для списка, единичной записи и тд c набором необходимых команд. a'la Код: c# 1. 2. 3. 4. 5.
2. анемичные модели хороши в теории, но реальное сокращение кода в клиентской части могут дать только бизнес-объекты с поддержкой crud и большой кучей интерфейсов, с поддержкой иерархии объектов, ленивой загрузкой, undo/redo, etc. Задача эта нетривиальная, посему рекомендую csla. 3. viewmodel не должны содержать загрузку классификаторов, чтобы не захламлять viewmodel. это можно делать из xaml c помощью специально обученного markup extensions. Контролы xaml могут сами замечательно изменять свойства, дублировать функционал combobox в коде - совершенно лишнее и тд В подобных формах кода не должно быть совсем. Посмотри prism и caliburn на codeplex ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 11:05 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIwcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь. Нет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой" Что касается той модели что ты предложил, то она слабовата. 1) правильная реализация с "формочками" будет либо wpf с mvvm либо mvc asp.net 2) BLL необходим тк в большом или растущем проекте он будет использоваться, а здесь он практически ничего и не делает, но создан с учетом на будущее 3) DAL в твоей схеме отсутсвует ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 12:17 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKISeVaSAPOTSKI, ты все продолжаешь формочки наследовать как winforms? В задачках с тремя табличками в базе, да, продолжаю, потому что это быстро, дешево и работает. Это моментальный отказ даже без поиска багов и в данном случае он был бы хотя бы обоснован ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 12:18 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpfНет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой" и зачем вам связываться с такими типами? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 12:41 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
SeVawcfwpfМогу сказать точно одно, коммерческие интересы у этих ребят на последнем месте и ими руководит совсем другое Ты нашел, где спрашивать. Неплохо для начала, мои фэ: 1. Должны быть обобщенные варианты viewmodel для списка, единичной записи и тд c набором необходимых команд. a'la Код: c# 1. 2. 3. 4. 5.
2. анемичные модели хороши в теории, но реальное сокращение кода в клиентской части могут дать только бизнес-объекты с поддержкой crud и большой кучей интерфейсов, с поддержкой иерархии объектов, ленивой загрузкой, undo/redo, etc. Задача эта нетривиальная, посему рекомендую csla. 3. viewmodel не должны содержать загрузку классификаторов, чтобы не захламлять viewmodel. это можно делать из xaml c помощью специально обученного markup extensions. Контролы xaml могут сами замечательно изменять свойства, дублировать функционал combobox в коде - совершенно лишнее и тд В подобных формах кода не должно быть совсем. Посмотри prism и caliburn на codeplex Прокоментируй плз третий пункт: а) viewmodel не должны содержать загрузку классификаторов б) "дублировать функционал combobox в коде - совершенно лишнее" - что тут имелось в виду? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 12:42 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
antiMVVMwcfwpfНет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой" и зачем вам связываться с такими типами? Я ищу работу, везде пробую. Но суть этих типов мне была ясна изначально, так что с одной стороны я решил проверить, верен ли мой анализ, а с другой стороны, кое-что из этого задания мне так или иначе нужно в моем личном проекте, так что проект был полезен лично мне ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 12:44 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpfНет, отказ был бы при любом коде. Отказ может быть только при кривом коде! wcfwpfЧто касается той модели что ты предложил, то она слабовата. Ну я предложил это сильно громко сказано, это всего лишь основная модель, которую сам мелкософт предлагает и я с ними в этом вопросе солидарен. wcfwpf1) правильная реализация с "формочками" будет либо wpf с mvvm либо mvc asp.net Когда на mvvm и mvc наклепают больше формочек чем на классических подходах, тогда и поговорим, а пока это теоретические сферические кони, которые уже лет пять как в вакууме раздуваются. wcfwpf2) BLL необходим тк в большом или растущем проекте он будет использоваться, а здесь он практически ничего и не делает, но создан с учетом на будущее А что будет в будещем? Еще одна табличка? wcfwpf3) DAL в твоей схеме отсутсвует А Entity Framework в схеме для красоты чтоль? wcfwpfЭто моментальный отказ даже без поиска багов Это уже больше десятка приложений работающих без всяких отказов! wcfwpfи в данном случае он был бы хотя бы обоснован Для кого? Чем? Тем что ты завел КамАЗ что бы соседу через дорогу мешок картошки перевезти? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 13:14 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKIwcfwpfНет, отказ был бы при любом коде. Отказ может быть только при кривом коде! wcfwpfЧто касается той модели что ты предложил, то она слабовата. Ну я предложил это сильно громко сказано, это всего лишь основная модель, которую сам мелкософт предлагает и я с ними в этом вопросе солидарен. wcfwpf1) правильная реализация с "формочками" будет либо wpf с mvvm либо mvc asp.net Когда на mvvm и mvc наклепают больше формочек чем на классических подходах, тогда и поговорим, а пока это теоретические сферические кони, которые уже лет пять как в вакууме раздуваются. wcfwpf2) BLL необходим тк в большом или растущем проекте он будет использоваться, а здесь он практически ничего и не делает, но создан с учетом на будущее А что будет в будещем? Еще одна табличка? wcfwpf3) DAL в твоей схеме отсутсвует А Entity Framework в схеме для красоты чтоль? wcfwpfЭто моментальный отказ даже без поиска багов Это уже больше десятка приложений работающих без всяких отказов! wcfwpfи в данном случае он был бы хотя бы обоснован Для кого? Чем? Тем что ты завел КамАЗ что бы соседу через дорогу мешок картошки перевезти? SApotski, у тебя неправильные попугаи, в которых ты со своей колокольни все меряешь. Одно дело десяток незамысловатых шабашек в несколько экранов, которые ты сляпал и забыл, и которые можно выбросить, да за день переписать по новой, а совсем другое дело - один проект в сотни экранов, который нужно сделать в разумные сроки, а потом поддерживать и развивать годами. Жарь шашлыки на природе и не пачкай мозги молодежи, которая пытается работать головой, а не тупо таскать контролы ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 14:54 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
wcfwpfПрокоментируй плз третий пункт: а) viewmodel не должны содержать загрузку классификаторов б) "дублировать функционал combobox в коде - совершенно лишнее" - что тут имелось в виду? Сейчас ухожу, отвечу позже ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 14:55 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
SeVaSApotski, у тебя неправильные попугаи, в которых ты со своей колокольни все меряешь. Одно дело десяток незамысловатых шабашек в несколько экранов, которые ты сляпал и забыл, и которые можно выбросить, да за день переписать по новой, а совсем другое дело - один проект в сотни экранов, который нужно сделать в разумные сроки, а потом поддерживать и развивать годами. Жарь шашлыки на природе и не пачкай мозги молодежи, которая пытается работать головой, а не тупо таскать контролы От за идею спасибо! А я думаю чем сегодня заняться, сча шашлычок оформим и в баньку! Ты пока порасказывай как космические корабли бороздят большой театр (с)... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 15:07 |
|
Покритикуйте пожалуйста код
|
|||
---|---|---|---|
#18+
EDUARD SAPOTSKI, Отказ может быть только при кривом коде! Замечательно! Я для того и открыл тему чтобы код покритиковали. Однако пока что я не услышал где именно код якобы кривой. Обоснованные ответы были у SeVa, однако что-то типа <T> - согласен можно было бы сделать, но за 4 дня и проект и шлифовка не делаются. А его упоминания про призм не являются обоснованными тк MVVM или призм - это по сути взаимозаменяемый выбор Ну я предложил это сильно громко сказано, это всего лишь основная модель, которую сам мелкософт предлагает и я с ними в этом вопросе солидарен. Можно ли ссылку на предложение мелкософта? Когда на mvvm и mvc наклепают больше формочек чем на классических подходах, тогда и поговорим, а пока это теоретические сферические кони, которые уже лет пять как в вакууме раздуваются. Это бесперспективный разговор. Можно хоть до посинения доказывать работодателям что MVVM , MVC - якобы гавно, но если они свое решение подкрепляют тем дать работу или нет. И если они ожидают MVVM, MVC а увидят онклики, то они сразу дадут отказ и еще скажут что это слабый программист. А что будет в будещем? Еще одна табличка? BLL не для табличек, а для дополнительной бизнес логики, которая явно не должна быть ни в DAL ни у клиента А Entity Framework в схеме для красоты чтоль? Entity Framework - это технология, в проекте с ним у меня работают 3 library: Model, DAL, Domain Это уже больше десятка приложений работающих без всяких отказов! Я не понял, ты там прошел собеседование где я получил отказ?? Для кого? Чем? Тем что ты завел КамАЗ что бы соседу через дорогу мешок картошки перевезти? А ты ожидал что на тестовое задание дадут не мешок картошки а эшелон картошки? Тестовое задание должно показать как человек создает архитектуру проекта, который явно будет расширяться или является уменьшенной копией настоящего. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2013, 18:12 |
|
|
start [/forum/topic.php?fid=21&fpage=32&tid=1441496]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 174ms |
0 / 0 |