Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Покритикуйте пожалуйста код / 25 сообщений из 33, страница 1 из 2
07.02.2013, 00:32
    #38140939
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
Сделал на днях тестовый проектик, выложил его онлайн
http://files.mail.ru/9220FE0660324B2FA00154D83F8BB467
Был бы очень признателен за объективную критику кода и тд

Сразу замечу несколько пунктов:
1) прежде чем выложить онлайн я поменял неймспейсы поэтому он перестал компилироваться - вылетело 4 мелких ошибки но не стал их искать что впрочем для анализа кода не играет роли
2) в БД Name объединяет Имя и Фамилию
3) в проекте есть баги тк тестировал очень мало: например после добавления клиента следующего клиента не добавить - это легкий баг
4) проект написан за 4 вечера так что это тоже надо принять во внимание
5) на UI акцентировать не надо внимание - он сделан очень простенько тк это тестовое задание

Заранее спасибо всем кто даст объективную критику
...
Рейтинг: 0 / 0
07.02.2013, 10:24
    #38141177
Nicky_N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpf,

1) анализировать код на проекте, который не который не компилируется как-то не кошерно.
...
Рейтинг: 0 / 0
07.02.2013, 11:00
    #38141256
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpf2) в БД Name объединяет Имя и Фамилию
издеваетесь?
...
Рейтинг: 0 / 0
07.02.2013, 12:25
    #38141468
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
Изопропилwcfwpf2) в БД Name объединяет Имя и Фамилию
издеваетесь?

Нет, так было задумано теми кто давал задание так что...
...
Рейтинг: 0 / 0
07.02.2013, 13:39
    #38141650
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
Друзья, пофиксил код чтобы он компилировался и выложил его заного
http://files.mail.ru/577464BC6A804310A50B79A7B294F472
...
Рейтинг: 0 / 0
07.02.2013, 14:10
    #38141725
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpfДрузья, пофиксил код чтобы он компилировался и выложил его заного
http://files.mail.ru/577464BC6A804310A50B79A7B294F472] http://files.mail.ru/577464BC6A804310A50B79A7B294F472
базу можно положить в проект и аттачить при запуске.

А то как-то не внушает "Error occured loading data"
...
Рейтинг: 0 / 0
07.02.2013, 16:16
    #38142021
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
ИзопропилwcfwpfДрузья, пофиксил код чтобы он компилировался и выложил его заного
http://files.mail.ru/577464BC6A804310A50B79A7B294F472] http://files.mail.ru/577464BC6A804310A50B79A7B294F472
базу можно положить в проект и аттачить при запуске.

А то как-то не внушает "Error occured loading data"

Базу можно создать из модели которая является частью проекта
Никакой ошибки в этом сегменте не наблюдается
...
Рейтинг: 0 / 0
08.02.2013, 12:31
    #38143171
Nicky_N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
Изопропилбазу можно положить в проект и аттачить при запуске.

А то как-то не внушает "Error occured loading data"
+1
...
Рейтинг: 0 / 0
08.02.2013, 20:32
    #38144084
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
Nicky_NИзопропилбазу можно положить в проект и аттачить при запуске.

А то как-то не внушает "Error occured loading data"
+1

А в чем сложность создать базу из модели? пара кликов мышей и все сделано, даже запускать никакие скрипты не надо
...
Рейтинг: 0 / 0
08.02.2013, 23:38
    #38144161
EDUARD SAPOTSKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
Молодец! Отличный пример того, как с помощью паттернов и "правильных" методологий проектирования можно размазать на тысячу файлов элементарную задачку!
ЗЫ Севе должно понравиццо
...
Рейтинг: 0 / 0
09.02.2013, 01:08
    #38144208
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
EDUARD SAPOTSKIМолодец! Отличный пример того, как с помощью паттернов и "правильных" методологий проектирования можно размазать на тысячу файлов элементарную задачку!
ЗЫ Севе должно понравиццо

А что делать, если бы я написал все в onClick ивентах, забацал стор процедуры или просто в sql запросы внутри кода, то отказ был бы моментальный.
Собственно и тут был отказ. Причем его усиленно искали :)) сказали что нашли баг что мол после добавления кастомера, другой кастомер не добавить.
Ну что тут могу сказать... в медицине есть хорошее определение слабоумия: это когда человек неспособен фокусироваться на главных вещах и делает экстремальный фокус на каких-то несущественных моментах вместо главных.
Поэтому вместо того чтобы оценить что сделано за 4 дня, архитектуру, паттерны, технологии, они начинают искать вдруг найдется баг к которому можно придраться. Если бы баг не нашелся, то просто таинственно бы заявили что все это стремно.
Однако я не скажу что они слабоумные, я скажу что они просто усиленно искали причину для отказа.
Они после этого еще своих коллег подбили, теперь через других хотят (а может не не дойдет до этого) протестировать просто IQ я так понимаю.
Могу сказать точно одно, коммерческие интересы у этих ребят на последнем месте и ими руководит совсем другое
...
Рейтинг: 0 / 0
09.02.2013, 04:04
    #38144241
EDUARD SAPOTSKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь.
...
Рейтинг: 0 / 0
09.02.2013, 10:22
    #38144275
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
EDUARD SAPOTSKIwcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь.

SAPOTSKI, ты все продолжаешь формочки наследовать как winforms?
...
Рейтинг: 0 / 0
09.02.2013, 10:38
    #38144283
EDUARD SAPOTSKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
SeVaSAPOTSKI, ты все продолжаешь формочки наследовать как winforms?
В задачках с тремя табличками в базе, да, продолжаю, потому что это быстро, дешево и работает.
...
Рейтинг: 0 / 0
09.02.2013, 11:05
    #38144297
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpfМогу сказать точно одно, коммерческие интересы у этих ребят на последнем месте и ими руководит совсем другое

Ты нашел, где спрашивать.

Неплохо для начала, мои фэ:

1. Должны быть обобщенные варианты viewmodel для списка, единичной записи и тд c набором необходимых команд. a'la
Код: c#
1.
2.
3.
4.
5.
public class ViewModel<T> : IViewModel<T>

{
       public T Model { get; set; }
}



2. анемичные модели хороши в теории, но реальное сокращение кода в клиентской части могут дать только бизнес-объекты с поддержкой crud и большой кучей интерфейсов, с поддержкой иерархии объектов, ленивой загрузкой, undo/redo, etc. Задача эта нетривиальная, посему рекомендую csla.
3. viewmodel не должны содержать загрузку классификаторов, чтобы не захламлять viewmodel. это можно делать из xaml c помощью специально обученного markup extensions. Контролы xaml могут сами замечательно изменять свойства, дублировать функционал combobox в коде - совершенно лишнее
и тд
В подобных формах кода не должно быть совсем.

Посмотри prism и caliburn на codeplex
...
Рейтинг: 0 / 0
09.02.2013, 12:17
    #38144319
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
EDUARD SAPOTSKIwcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь.

Нет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой"

Что касается той модели что ты предложил, то она слабовата.
1) правильная реализация с "формочками" будет либо wpf с mvvm либо mvc asp.net
2) BLL необходим тк в большом или растущем проекте он будет использоваться, а здесь он практически ничего и не делает, но создан с учетом на будущее
3) DAL в твоей схеме отсутсвует
...
Рейтинг: 0 / 0
09.02.2013, 12:18
    #38144321
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
EDUARD SAPOTSKISeVaSAPOTSKI, ты все продолжаешь формочки наследовать как winforms?
В задачках с тремя табличками в базе, да, продолжаю, потому что это быстро, дешево и работает.

Это моментальный отказ даже без поиска багов
и в данном случае он был бы хотя бы обоснован
...
Рейтинг: 0 / 0
09.02.2013, 12:41
    #38144330
antiMVVM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpfНет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой"
и зачем вам связываться с такими типами?
...
Рейтинг: 0 / 0
09.02.2013, 12:42
    #38144331
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
SeVawcfwpfМогу сказать точно одно, коммерческие интересы у этих ребят на последнем месте и ими руководит совсем другое

Ты нашел, где спрашивать.

Неплохо для начала, мои фэ:

1. Должны быть обобщенные варианты viewmodel для списка, единичной записи и тд c набором необходимых команд. a'la
Код: c#
1.
2.
3.
4.
5.
public class ViewModel<T> : IViewModel<T>

{
       public T Model { get; set; }
}



2. анемичные модели хороши в теории, но реальное сокращение кода в клиентской части могут дать только бизнес-объекты с поддержкой crud и большой кучей интерфейсов, с поддержкой иерархии объектов, ленивой загрузкой, undo/redo, etc. Задача эта нетривиальная, посему рекомендую csla.
3. viewmodel не должны содержать загрузку классификаторов, чтобы не захламлять viewmodel. это можно делать из xaml c помощью специально обученного markup extensions. Контролы xaml могут сами замечательно изменять свойства, дублировать функционал combobox в коде - совершенно лишнее
и тд
В подобных формах кода не должно быть совсем.

Посмотри prism и caliburn на codeplex

Прокоментируй плз третий пункт:
а) viewmodel не должны содержать загрузку классификаторов
б) "дублировать функционал combobox в коде - совершенно лишнее" - что тут имелось в виду?
...
Рейтинг: 0 / 0
09.02.2013, 12:44
    #38144333
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
antiMVVMwcfwpfНет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой"
и зачем вам связываться с такими типами?

Я ищу работу, везде пробую. Но суть этих типов мне была ясна изначально, так что с одной стороны я решил проверить, верен ли мой анализ, а с другой стороны, кое-что из этого задания мне так или иначе нужно в моем личном проекте, так что проект был полезен лично мне
...
Рейтинг: 0 / 0
09.02.2013, 13:14
    #38144355
EDUARD SAPOTSKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpfНет, отказ был бы при любом коде.
Отказ может быть только при кривом коде!

wcfwpfЧто касается той модели что ты предложил, то она слабовата.
Ну я предложил это сильно громко сказано, это всего лишь основная модель, которую сам мелкософт предлагает и я с ними в этом вопросе солидарен.

wcfwpf1) правильная реализация с "формочками" будет либо wpf с mvvm либо mvc asp.net
Когда на mvvm и mvc наклепают больше формочек чем на классических подходах, тогда и поговорим, а пока это теоретические сферические кони, которые уже лет пять как в вакууме раздуваются.
wcfwpf2) BLL необходим тк в большом или растущем проекте он будет использоваться, а здесь он практически ничего и не делает, но создан с учетом на будущее
А что будет в будещем? Еще одна табличка?

wcfwpf3) DAL в твоей схеме отсутсвует
А Entity Framework в схеме для красоты чтоль?

wcfwpfЭто моментальный отказ даже без поиска багов
Это уже больше десятка приложений работающих без всяких отказов!

wcfwpfи в данном случае он был бы хотя бы обоснован
Для кого? Чем? Тем что ты завел КамАЗ что бы соседу через дорогу мешок картошки перевезти?
...
Рейтинг: 0 / 0
09.02.2013, 14:54
    #38144411
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
EDUARD SAPOTSKIwcfwpfНет, отказ был бы при любом коде.
Отказ может быть только при кривом коде!

wcfwpfЧто касается той модели что ты предложил, то она слабовата.
Ну я предложил это сильно громко сказано, это всего лишь основная модель, которую сам мелкософт предлагает и я с ними в этом вопросе солидарен.

wcfwpf1) правильная реализация с "формочками" будет либо wpf с mvvm либо mvc asp.net
Когда на mvvm и mvc наклепают больше формочек чем на классических подходах, тогда и поговорим, а пока это теоретические сферические кони, которые уже лет пять как в вакууме раздуваются.
wcfwpf2) BLL необходим тк в большом или растущем проекте он будет использоваться, а здесь он практически ничего и не делает, но создан с учетом на будущее
А что будет в будещем? Еще одна табличка?

wcfwpf3) DAL в твоей схеме отсутсвует
А Entity Framework в схеме для красоты чтоль?

wcfwpfЭто моментальный отказ даже без поиска багов
Это уже больше десятка приложений работающих без всяких отказов!

wcfwpfи в данном случае он был бы хотя бы обоснован
Для кого? Чем? Тем что ты завел КамАЗ что бы соседу через дорогу мешок картошки перевезти?

SApotski, у тебя неправильные попугаи, в которых ты со своей колокольни все меряешь. Одно дело десяток незамысловатых шабашек в несколько экранов, которые ты сляпал и забыл, и которые можно выбросить, да за день переписать по новой, а совсем другое дело - один проект в сотни экранов, который нужно сделать в разумные сроки, а потом поддерживать и развивать годами.
Жарь шашлыки на природе и не пачкай мозги молодежи, которая пытается работать головой, а не тупо таскать контролы
...
Рейтинг: 0 / 0
09.02.2013, 14:55
    #38144412
SeVa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
wcfwpfПрокоментируй плз третий пункт:
а) viewmodel не должны содержать загрузку классификаторов
б) "дублировать функционал combobox в коде - совершенно лишнее" - что тут имелось в виду?

Сейчас ухожу, отвечу позже
...
Рейтинг: 0 / 0
09.02.2013, 15:07
    #38144420
EDUARD SAPOTSKI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
SeVaSApotski, у тебя неправильные попугаи, в которых ты со своей колокольни все меряешь. Одно дело десяток незамысловатых шабашек в несколько экранов, которые ты сляпал и забыл, и которые можно выбросить, да за день переписать по новой, а совсем другое дело - один проект в сотни экранов, который нужно сделать в разумные сроки, а потом поддерживать и развивать годами.
Жарь шашлыки на природе и не пачкай мозги молодежи, которая пытается работать головой, а не тупо таскать контролы
От за идею спасибо! А я думаю чем сегодня заняться, сча шашлычок оформим и в баньку! Ты пока порасказывай как космические корабли бороздят большой театр (с)...
...
Рейтинг: 0 / 0
09.02.2013, 18:12
    #38144525
wcfwpf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Покритикуйте пожалуйста код
EDUARD SAPOTSKI,

Отказ может быть только при кривом коде!

Замечательно! Я для того и открыл тему чтобы код покритиковали. Однако пока что я не услышал где именно код якобы кривой.
Обоснованные ответы были у SeVa, однако что-то типа <T> - согласен можно было бы сделать, но за 4 дня и проект и шлифовка не делаются. А его упоминания про призм не являются обоснованными тк MVVM или призм - это по сути взаимозаменяемый выбор


Ну я предложил это сильно громко сказано, это всего лишь основная модель, которую сам мелкософт предлагает и я с ними в этом вопросе солидарен.

Можно ли ссылку на предложение мелкософта?

Когда на mvvm и mvc наклепают больше формочек чем на классических подходах, тогда и поговорим, а пока это теоретические сферические кони, которые уже лет пять как в вакууме раздуваются.

Это бесперспективный разговор. Можно хоть до посинения доказывать работодателям что MVVM , MVC - якобы гавно, но если они свое решение подкрепляют тем дать работу или нет. И если они ожидают MVVM, MVC а увидят онклики, то они сразу дадут отказ и еще скажут что это слабый программист.

А что будет в будещем? Еще одна табличка?

BLL не для табличек, а для дополнительной бизнес логики, которая явно не должна быть ни в DAL ни у клиента

А Entity Framework в схеме для красоты чтоль?

Entity Framework - это технология, в проекте с ним у меня работают 3 library: Model, DAL, Domain


Это уже больше десятка приложений работающих без всяких отказов!

Я не понял, ты там прошел собеседование где я получил отказ??


Для кого? Чем? Тем что ты завел КамАЗ что бы соседу через дорогу мешок картошки перевезти?


А ты ожидал что на тестовое задание дадут не мешок картошки а эшелон картошки?
Тестовое задание должно показать как человек создает архитектуру проекта, который явно будет расширяться или является уменьшенной копией настоящего.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Покритикуйте пожалуйста код / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]