Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как вам такой код? / 25 сообщений из 241, страница 1 из 10
16.04.2013, 11:29
    #38227234
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
Скажите пожалуйста, есть ли альтернатива?


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
        {
            DateTime dt;

            try
            {
                dt = Convert.ToDateTime(treeList1.FocusedNode.GetValue("date_transfered"));
            }
            catch
            {
                return;
            }

            if (Convert.ToInt32(treeList1.FocusedNode.GetValue("id_doctype")) != 257 && dt < Convert.ToDateTime("01.12.2012"))
            {



Заранее благодарен.
...
Рейтинг: 0 / 0
16.04.2013, 11:45
    #38227282
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
Гавно.

1. Логику нужно выносить в модель
2. Магическому числу 257 место на свалке
3. Конвертация дат без учета культуры
4. Convert.ToDateTime("01.12.2012") - зло, ибо: new DateTime(2012, 12, 1)

P.S. Подписываю бегунок, уволен.
...
Рейтинг: 0 / 0
16.04.2013, 12:05
    #38227333
sphinx_mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
cooldeveloper1. Логику нужно выносить в модельRejected...
Использование модели в элементарных случаях - есть зло и говнокод! Фтопку!
cooldeveloper2. Магическому числу 257 место на свалкеPassed...
cooldeveloper3. Конвертация дат без учета культурыPassed...
cooldeveloper4. Convert.ToDateTime("01.12.2012") - зло,Passed...
cooldeveloperибо: new DateTime(2012, 12, 1)
Rejected... (see. p.2)
cooldeveloperP.S. Подписываю бегунок, уволен.Rejected - Insufficient data to make a decision
...
Рейтинг: 0 / 0
16.04.2013, 12:16
    #38227363
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
sphinx_mvRejected...
Использование модели в элементарных случаях - есть зло и говнокод! Фтопку!
Использование модели для представления в любых случаях - хорошая практика и правильный подход. Неучам и бездарям не понять, что такое лапшекод. Во-вторых, у него код не окончен, следовательно, там можешь быть та еще лапша.
sphinx_mvRejected - Insufficient data to make a decision
Too little experience to date of such statements.
...
Рейтинг: 0 / 0
16.04.2013, 12:31
    #38227410
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vah,
я так понимаю это событие перехода фокуса treeList1.
1 И на кой нам терзать treeList1, когда есть спускаемый в стек параметр FocusedNodeChangedEventArgs e
там явно есть выбранный уже нод, ну уж на то пошло есть sender,
могла бы быть статиком запросто.
2 время можно и хранить в реале в tag, не нужна переконвертировка.
3 механизм ловли исключений не информативный, при ошибке, честно сказать не могу понять откуда она только может там возникнуть.
программа будет пускать пузыри типа 404
зы ну в общем то уволить...
...
Рейтинг: 0 / 0
16.04.2013, 13:14
    #38227501
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
Где-то в степиvah,
я так понимаю это событие перехода фокуса treeList1.
1 И на кой нам терзать treeList1, когда есть спускаемый в стек параметр FocusedNodeChangedEventArgs e
там явно есть выбранный уже нод, ну уж на то пошло есть sender,
могла бы быть статиком запросто.
2 время можно и хранить в реале в tag, не нужна переконвертировка.
3 механизм ловли исключений не информативный, при ошибке, честно сказать не могу понять откуда она только может там возникнуть.
программа будет пускать пузыри типа 404
зы ну в общем то уволить...

а примерчик не укажете?
...
Рейтинг: 0 / 0
16.04.2013, 13:31
    #38227525
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahГде-то в степиvah,
я так понимаю это событие перехода фокуса treeList1.
1 И на кой нам терзать treeList1, когда есть спускаемый в стек параметр FocusedNodeChangedEventArgs e
там явно есть выбранный уже нод, ну уж на то пошло есть sender,
могла бы быть статиком запросто.
2 время можно и хранить в реале в tag, не нужна переконвертировка.
3 механизм ловли исключений не информативный, при ошибке, честно сказать не могу понять откуда она только может там возникнуть.
программа будет пускать пузыри типа 404
зы ну в общем то уволить...

а примерчик не укажете?Вам предлагают использовать e.Node вместо treeList1.FocusedNode. Почитайте документацию на FocusedNodeChangedEventArgs.

В колонке "date_transfered" у Вас могут быть данные не типа DateTime? Зачем try catch? Если может быть null или DBNull.Value, то на это и проверяйте.
...
Рейтинг: 0 / 0
16.04.2013, 13:44
    #38227545
sphinx_mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
cooldevelopersphinx_mvRejected...
Использование модели в элементарных случаях - есть зло и говнокод! Фтопку!
Использование модели для представления в любых случаях - хорошая практика и правильный подход. Неучам и бездарям не понять, что такое лапшекод. Во-вторых, у него код не окончен, следовательно, там можешь быть та еще лапша.
Пофиг!
Любая работающая "лапша с дерьмом" от "чайника" лучше, чем неработающий код от гуру программирования.
Сначала нужно "сделать" ("шоб работало"). Потом "сделать правильно". И только потом "сделать лучше" - если(!) понадобится.
cooldevelopersphinx_mvRejected - Insufficient data to make a decision
Too little experience to date of such statements.Oh, yes! We see your "ultimate experience" when you try to make an important decision without any information at all.
...
Рейтинг: 0 / 0
16.04.2013, 13:54
    #38227558
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
sphinx_mvПофиг!
Любая работающая "лапша с дерьмом" от "чайника" лучше, чем неработающий код от гуру программирования.
Сначала нужно "сделать" ("шоб работало"). Потом "сделать правильно". И только потом "сделать лучше" - если(!) понадобится.

код нужно ещё и потдерживать, согласен с cooldeveloper
...
Рейтинг: 0 / 0
16.04.2013, 14:07
    #38227585
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
sphinx_mvПофиг!
Если тебе "пофиг" на код, его сопровождение и рефакторинг - я развожу руками. Продолжай писать гавно, я не против.

sphinx_mvЛюбая работающая "лапша с дерьмом" от "чайника" лучше, чем неработающий код от гуру программирования.
Непонятно, к чему этот вброс. С чего это код от гуру программирования неработающий?

sphinx_mvСначала нужно "сделать" ("шоб работало"). Потом "сделать правильно". И только потом "сделать лучше" - если(!) понадобится.
Глупости сивой кобылы - только неопытный гавнокодер среднего пошиба может так говорить. Нужно изначально писать хорошо и правильно, впоследствии такой код проще сопровождать, рефакторить и развивать. Допиливать же опосля гавно напильником, да и еще по нескольку раз - результат плачевный. Хотел бы, чтоб строительные архитекторы и инженеры новостройки для твоей будущей квартиры придерживались такого правила?

sphinx_mvOh, yes! We see your "ultimate experience" when you try to make an important decision without any information at all.
You're a stupid shitmonkey. It's a fact.
...
Рейтинг: 0 / 0
16.04.2013, 14:10
    #38227590
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
sphinx_mvcooldeveloperпропущено...

Использование модели для представления в любых случаях - хорошая практика и правильный подход. Неучам и бездарям не понять, что такое лапшекод. Во-вторых, у него код не окончен, следовательно, там можешь быть та еще лапша.
Пофиг!
Любая работающая "лапша с дерьмом" от "чайника" лучше, чем неработающий код от гуру программирования.
Сначала нужно "сделать" ("шоб работало"). Потом "сделать правильно". И только потом "сделать лучше" - если(!) понадобится.
cooldeveloperпропущено...

Too little experience to date of such statements.Oh, yes! We see your "ultimate experience" when you try to make an important decision without any information at all.

Полностью ВАС поддерживаю!
...
Рейтинг: 0 / 0
16.04.2013, 14:12
    #38227595
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
да ну, не всегда есть место модели в явном виде. Пример - какой-нибудь простой aboutwindow.
i do not know what to write in english here but it seems i should, as everybody is writing some shit afterwards)
...
Рейтинг: 0 / 0
16.04.2013, 14:13
    #38227597
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahПолностью ВАС поддерживаю!
Да не, код действительно плохой
...
Рейтинг: 0 / 0
16.04.2013, 14:14
    #38227603
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahsphinx_mv
Полностью ВАС поддерживаю!
Гавнокодеры нашли друг дружку

Для таких как вы оба статья: Про абстрагирование, слабосвязную архитектуру и проектирование в целом
...
Рейтинг: 0 / 0
16.04.2013, 14:15
    #38227604
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
Denis.vahПолностью ВАС поддерживаю!
Да не, код действительно плохой

если бы я в этом сомневался - сюда б не писал

я знал сколько помоев выльется на мою голову
...
Рейтинг: 0 / 0
16.04.2013, 14:16
    #38227606
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahsphinx_mv
Полностью ВАС поддерживаю!
Кстати, наводящий вопрос - зачем тогда сабж запостил?
...
Рейтинг: 0 / 0
16.04.2013, 14:17
    #38227610
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahDenis.пропущено...

Да не, код действительно плохой

если бы я в этом сомневался - сюда б не писал

я знал сколько помоев выльется на мою голову
Да будет вам, никто вроде не грубил
...
Рейтинг: 0 / 0
16.04.2013, 14:17
    #38227611
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahDenis.Да не, код действительно плохой
если бы я в этом сомневался - сюда б не писал
я знал сколько помоев выльется на мою голову
И, тем не менее, ты написал. Значит, в душе что-то коробило? :)
...
Рейтинг: 0 / 0
16.04.2013, 14:31
    #38227638
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
ВСЁ, Я ИСПРАВИЛСЯ



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
        private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
        {
            DateTime dt;
            DateTime dtc;

            dtc = new DateTime(2012, 12, 1);

            if (e.Node.GetValue("date_transfered") == DBNull.Value)
            {
                return;
            }
            else
            {
                dt = Convert.ToDateTime(treeList1.FocusedNode.GetValue("date_transfered"));
            }
            
            
            if (Convert.ToInt32(treeList1.FocusedNode.GetValue("id_doctype")) != 257 && dt < dtc)
            {
...
Рейтинг: 0 / 0
16.04.2013, 14:36
    #38227651
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
так вообще офигенно


private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
DateTime dt;
DateTime dtc;

dtc = new DateTime(2012, 12, 1);

if (e.Node.GetValue("date_transfered") == DBNull.Value) {return;} else {dt = Convert.ToDateTime(e.Node.GetValue("date_transfered"));}


if (Convert.ToInt32(e.Node.GetValue("id_doctype")) != 257 && dt < dtc)
{
...
Рейтинг: 0 / 0
16.04.2013, 14:45
    #38227667
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
В какой гавношколе ты учился? Что мешает запечатать своё уныние, хотя бы, в процедурный подход?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
    DateTime date = GetFocusedDate(e.Node);

    // ...
}

private DateTime GetFocusedDate(Node node)
{
    // ...
}
...
Рейтинг: 0 / 0
16.04.2013, 16:11
    #38227816
С0ВЕСТЬ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
vahя знал сколько помоев выльется на мою голову

и все равно пришел без зонтика
...
Рейтинг: 0 / 0
16.04.2013, 16:16
    #38227824
sphinx_mv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
cooldevelopersphinx_mvПофиг!
Если тебе "пофиг" на код, его сопровождение и рефакторинг - я развожу руками. Продолжай писать гавно, я не против.
Мнение никаких "говно-орхетекторов" совершенно не интересует заказчиков с их изменяющимиси требованиями со сроками "надо вчера". И очень хочется надеяться (хотя надежда крайне слаба), что Вы вообще имеете представление, что такое рефакторинг и по каким причинам имеет смысл хотя бы просто задумываться, чтобы его делать.
cooldevelopersphinx_mvЛюбая работающая "лапша с дерьмом" от "чайника" лучше, чем неработающий код от гуру программирования.
Непонятно, к чему этот вброс. С чего это код от гуру программирования неработающий?
Вы, естественно, "совершенно не в курсе", почему так бывает? Ну, что ж... И так тоже бывает...

Ларчик-то просто открывается: элементарно "не успел" из-за соблюдения требований "самых правильных" методик или строго следования "необузданому полету фантазии" слабо вменяемого "орхетектора"

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

Во-первых, приводить в пример строительство - БРЕД (мягко сказано). В нем, как минимум, совервершенно другие принципы регулирования деятельности! И Вы о них "не в курсе"...

Во-вторых (хотя, по-хорошему, должно бы быть "во-первых"), только клинический идиот считает, что для программы представляет какую-то важносто то, КАК она НАПИСАНА, а не то КАК она РАБОТАЕТ!

И, кстати, хорошо работающая программа, полностью удовлетворяющая заказчика, не требует рефакторинга, а "развитие" - это уже "другая программа"...

Если затраты на "правильное проектирование" многократно превышают стоимость многократного переписывания (хотя бы из-за изменившихся требований к ПО) - объективно вылетите в трубу раньше, чем Ваша "нетленка" увидит свет... И многократное переписывание "хорошего кода" этому только способствует - можете пытаться опровергать сколько влезет.

Манифест "правильной" разработки - читать тут ...
Как надо относиться к абстракциям - тут ...
Самая верная методология разработки программного обеспечения - тут ...
Про критерии "плохого дизайна" - читать здесь ....

cooldevelopersphinx_mvOh, yes! We see your "ultimate experience" when you try to make an important decision without any information at all.
You're a stupid shitmonkey. It's a fact.Warning! Bug in your DNA detected! Please contact with developers for get latest updates and necessary maintenance.
...
Рейтинг: 0 / 0
16.04.2013, 17:03
    #38227911
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
cooldeveloper2. Магическому числу 257 место на свалке.Из контекста понятно, что означает это число (id_doctype). Число встречается однократно. Описывать константу необязательно.
...
Рейтинг: 0 / 0
16.04.2013, 17:29
    #38227969
cooldeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой код?
sphinx_mvМнение никаких "говно-орхетекторов" совершенно не интересует заказчиков с их изменяющимиси требованиями со сроками "надо вчера".
Особенно при таком хаосе, как у тебя, невероятно вреден принцип разработки "лишь бы работало". Хаос на хаос даёт в результате армагедон.

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

sphinx_mvВы, естественно, "совершенно не в курсе", почему так бывает? Ну, что ж... И так тоже бывает...
Обычно таких как ты кнопко-кидателей с минимальными знаниями процесса разработки выбрасывают на свалку за ненужностью. И так тоже бывает.

sphinx_mvЛарчик-то просто открывается: элементарно "не успел" из-за соблюдения требований "самых правильных" методик или строго следования "необузданому полету фантазии" слабо вменяемого "орхетектора"
Факапить и топить команду по срокам будет немыслящий подопытный кролик, который не понимает того, что от него хотят. Маломальски соображающая codemonkey сделает всё более или менее красиво - особенно это зачется немного позже. Да и о каких таких задержках по срокам можно говорить - банальный лапшекод в обработчиках нормальные люди раскидывают, хотя бы, в процедурно-ориентированный скоуп, который позже можно легко оторвать из прикладной машанины и распихать по моделям и сервисам. Но ты еще не дорос до того, чтобы это понимать и работать в таких режимах. Пока жуй бананы, о технике потом поговорим.

sphinx_mvУ-у-у-у, как всен запушшено!
Тут Вам самому бы еще опыта поднабираться... Хотя ламерам это не грозит...
Аргументами убил наповал.

sphinx_mvВо-первых, приводить в пример строительство - БРЕД (мягко сказано). В нем, как минимум, совервершенно другие принципы регулирования деятельности! И Вы о них "не в курсе"...
Банальный скромный соскок. Хотя, очень интересно - расскажи про эти принципы регулирования деятельности, набрал попкорна и приготовился.

sphinx_mvВо-вторых (хотя, по-хорошему, должно бы быть "во-первых"), только клинический идиот считает, что для программы представляет какую-то важносто то, КАК она НАПИСАНА, а не то КАК она РАБОТАЕТ!
И то и другое тесно взаимосвязано. Не может некачественно построенный дом на болоте простоять и не свалиться. Хотел бы ты в таких системах хранить свои сбережения на счетах и оперировать переводами? А хотел бы ты летать на самолетах с таким ПО для летчиков?

sphinx_mvИ, кстати, хорошо работающая программа, полностью удовлетворяющая заказчика, не требует рефакторинга, а "развитие" - это уже "другая программа"...
Программа, написанная на гавнокоде с подпорками, не может хорошо работать. Но может удовлетворить заказчика, который не понимает еще, во что он вляпался. Беда многих наших интеграторов - понаписать гавна дешевыми студентами за самые короткие сроки, впарить бедному заказчику и доить его годами, выпуская новые подпорки с граблями. Ты случаем не в таком интеграторе затесался?

sphinx_mvЕсли затраты на "правильное проектирование" многократно превышают стоимость многократного переписывания (хотя бы из-за изменившихся требований к ПО) - объективно вылетите в трубу раньше, чем Ваша "нетленка" увидит свет... И многократное переписывание "хорошего кода" этому только способствует - можете пытаться опровергать сколько влезет.
А с чего это ты решил, что затраты на "правильное проектирование" многократно что-то должны превышать? Или ты записался в гадалки на кофейной гуще? Правильное проектирование ничего не может привышать, особенно если грамотно закладываться на сроки с рисками. Умный управленец на хороший фундамент затратит дополнительно 10% времени, а в последующем многократно выйграет в разы. Тупой унылый талпайоп, у которого в башке только одна мысль - отжать бабла прямо здесь и сейчас, не думая о партнерских отношениях и долгосрочном сотрудничестве - не будет думать о доп. затратах на старте. Он будет мыслить линейно, в результате сам задохнется в своих зловониях. Ты предлагаешь путь унылого талпайопа, мне жаль тех заказчиков.

sphinx_mvМанифест "правильной" разработки - читать тут ...
Вот-вот, вначале говорится о тезисной выжимке опыта подхода к стартапам. Гавно понаписать и захлебнуться. Автор - идиот, который переврал итерации Agile разработки как написать, переписать, еще раз переписать. Продакт менеджер тебя кастрирует за такие "итерации".

sphinx_mvСамая верная методология разработки программного обеспечения - тут ...
Про критерии "плохого дизайна" - читать здесь ....
Самая верная методология разработки - это Agile подход с техническим соблюдений всех рекомендаций: http://msdn.microsoft.com/en-us/library/ff650706.aspx а не то гавно, которое предлагаешь ты.

sphinx_mvWarning! Bug in your DNA detected! Please contact with developers for get latest updates and necessary maintenance.
Danger! At the time of writing programs, it is discovered that the whole team - chatty codemonkeys.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как вам такой код? / 25 сообщений из 241, страница 1 из 10
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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