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

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

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

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

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

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

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

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

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

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

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

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

SAPOTSKI, ты все продолжаешь формочки наследовать как winforms?
...
Рейтинг: 0 / 0
Покритикуйте пожалуйста код
    #38144283
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaSAPOTSKI, ты все продолжаешь формочки наследовать как winforms?
В задачках с тремя табличками в базе, да, продолжаю, потому что это быстро, дешево и работает.
...
Рейтинг: 0 / 0
Покритикуйте пожалуйста код
    #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
Покритикуйте пожалуйста код
    #38144319
wcfwpf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EDUARD SAPOTSKIwcfwpf, не знаю какое там у тебя стояло точное задание, но для решения такой задачи нужна моделька edmx, Domain Service и фактически одна формочка на SL. Все! И никаких отказов бы небыло. Вероятность отказа тем выше чем больше кода, вот и вся логика. Если будешь на каждые три таблички столько городить, то само собой рано или позно себе в ногу выстрелишь.

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

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

Это моментальный отказ даже без поиска багов
и в данном случае он был бы хотя бы обоснован
...
Рейтинг: 0 / 0
Покритикуйте пожалуйста код
    #38144330
antiMVVM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wcfwpfНет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой"
и зачем вам связываться с такими типами?
...
Рейтинг: 0 / 0
Покритикуйте пожалуйста код
    #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
Покритикуйте пожалуйста код
    #38144333
wcfwpf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antiMVVMwcfwpfНет, отказ был бы при любом коде. Эти (конкретные)типы (и их знакомые) когда не могут найти баг, просто заявляют "код плохой"
и зачем вам связываться с такими типами?

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

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

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

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

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

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

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

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

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

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

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

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

Сейчас ухожу, отвечу позже
...
Рейтинг: 0 / 0
Покритикуйте пожалуйста код
    #38144420
Фотография EDUARD SAPOTSKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaSApotski, у тебя неправильные попугаи, в которых ты со своей колокольни все меряешь. Одно дело десяток незамысловатых шабашек в несколько экранов, которые ты сляпал и забыл, и которые можно выбросить, да за день переписать по новой, а совсем другое дело - один проект в сотни экранов, который нужно сделать в разумные сроки, а потом поддерживать и развивать годами.
Жарь шашлыки на природе и не пачкай мозги молодежи, которая пытается работать головой, а не тупо таскать контролы
От за идею спасибо! А я думаю чем сегодня заняться, сча шашлычок оформим и в баньку! Ты пока порасказывай как космические корабли бороздят большой театр (с)...
...
Рейтинг: 0 / 0
Покритикуйте пожалуйста код
    #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
25 сообщений из 33, страница 1 из 2
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Покритикуйте пожалуйста код
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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