Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
15 правил написания качественного кода
#21
Newble Написал:Лишняя нагрузка на процессор.

Пример был указан в источнике, я сочувствую что гуглить вы умеете, а распознавать информацию нет.

Вы сами то, много ошибок найдете в таком крошечном примере, без остальных известных данных? А ну, поразите меня. Я перед вами извинюсь, даже, хотя не понимаю за что.

Добавлено через 1 минуту


Вы имеете ввиду стандарты С ?

Хоспади. В вашей статье в пункте один идет речь об неправильном форматировании кода, а тоесть пробелы, переносы и т.п.
Вы до сих пор не можете это понять даже после того как вас ткнули в это носом. Smile
Ответ
#22
Aleksey Написал:Не, посмотрел стандарт... Нашел 9 ошибок. Давай 10 набери и я ухожу и репу прибавлю даже

Добавлено через 1 минуту


отсутствует в джаве понятие унсигнед, и вообще статья не привязана к языку. Ошибки не в коде, ошибки в стиле! Читайте свою статью!

Нашел десятую) Будет 11?

Добавлено через 1 минуту
Newble Написал:Вы сами то, много ошибок найдете в таком крошечном примере, без остальных известных данных? А ну, поразите меня. Я перед вами извинюсь, даже, хотя не понимаю за что.

Извиняться будем?)
L2j Pane v1.7 - админка для вашего L2 сервера
Ответ
#23
kpNemo Написал:Очень интересно. Назревает вопрос, или скорее просьба. Не мог бы кто показать как реально правильно писать на с#? Какие есть уже выработанные технологии по разработке приложений winforms тесно связанных с БД? К примеру видел с# сервер линейки от кролика. Достаточно дико для меня выглядел кусок селект запроса, в котором по while-у заполнялись обьекты классов. Ведь не раз слышал, что данный программист талантливый и опытный. Я обычно вытягиваю с БД таблицу в виде Ienumerable, а потом через linq уже орудую готовыми данными. Почему так, или иначе? Есть кто опытный в данной отрасли, кто может показать достаточно удобные решения в данном русле и натолкнуть на мысль, как же всё-таки правильно?

Тс, сам не особо в теме. Про итерацию поржал, если мне нужно перебрать массив элементов я буду юзать for конструкцию, т.к foreach уже тянет за собой IEnumerable и его есть смысл юзать когда работаешь с IList или IDictionary. (c#)

"К примеру видел с# сервер линейки от кролика. Достаточно дико для меня выглядел кусок селект запроса, в котором по while-у заполнялись обьекты классов." - Любой l2 эмуль на шарпе выглядит убого, т.к в основном раньше их разрабы писали на Яве.
Ответ
#24
Ну крч справедливость то существует
[Изображение: h_1460988827_8876418_4f2ed321bc.png]
L2j Pane v1.7 - админка для вашего L2 сервера
Ответ
#25
Aleksey Написал:Ну крч справедливость то существует
[Изображение: h_1460988827_8876418_4f2ed321bc.png]

Молодец, всех друзей попросил)? Делай -1кк. Поздравляю, ты умнее, чем человек изучающий подобное,раз в неделю, по 20 минут, на протяжении пары месяцев.

Вы съели человека, за копипаст. Надеюсь гордитесь этим.

Да и тема не была так плоха, что бы изгонять за нее с форума, или оскорблять.

Не дав новичку прохода, вы думаете, что сделали что то полезное?
Я могу и запросто покинуть этот форум, что бы вы не утруждались минусовать.
Ответ
#26
Newble Написал:Молодец, всех друзей попросил)? Делай -1кк. Поздравляю, ты умнее, чем человек изучающий подобное,раз в неделю, по 20 минут, на протяжении пары месяцев.

Вы съели человека, за копипаст. Надеюсь гордитесь этим.

Да и тема не была так плоха, что бы изгонять за нее с форума, или оскорблять.

Не дав новичку прохода, вы думаете, что сделали что то полезное?
Я могу и запросто покинуть этот форум, что бы вы не утруждались минусовать.

Всё, пошли сопли. А авторство вы так и не указали!
L2j Pane v1.7 - админка для вашего L2 сервера
Ответ
#27
Aleksey Написал:Всё, пошли сопли. А авторство вы так и не указали!

Не обязан. Твой выигрыш автомобиль Якубовича. Довольствуйся.
Ответ
#28
Necroz-Team Написал:Тс, сам не особо в теме. Про итерацию поржал, если мне нужно перебрать массив элементов я буду юзать for конструкцию, т.к foreach уже тянет за собой IEnumerable и его есть смысл юзать когда работаешь с IList или IDictionary. (c#)

"К примеру видел с# сервер линейки от кролика. Достаточно дико для меня выглядел кусок селект запроса, в котором по while-у заполнялись обьекты классов." - Любой l2 эмуль на шарпе выглядит убого, т.к в основном раньше их разрабы писали на Яве.


Всмысле поржал? Вот надо нам заполнить штук 50 датагридов, 200 комбобоксов и т.д.. В каждом первом идут селекты сразу с нескольких таблиц, всякая там арифметика и т.д.. Сколько уйдёт времени на эти селекты? А если они должны в любой момент опят проселектится с чуть другими условиями(а должно работать моментально)? + самая беда - может быть плохое, часто обрывающееся соединение с БД. Описываются нужные таблицы классами, после вытягиваются таблички примерно так:
Код:
data = DB.ExecuteQuery<T>(querySql).ToList();
; Всё, теперь всё у нас в памяти. А теперь можно вытянуть всё это дело в любом нужном виде через линки, что явно быстрее(в некоторых условиях чуть ли не в 100 раз быстрее, чем пускать в БД запрос по условиям, БД ещё будет думать как его обработать..., а если юзать плинки и злинки - ещё быстрее), чем селекты. А что плохого в том, чтобы хранить в памяти Иенумерабле? И кто, уж простите, будет форами бегать по огромному иенумерабле? Вытянул что надо, превратил в лист, а оттуда можно и форами. Сколько по вашему вот такой запрос будет выполняться, если послать подобный в БД?
Код:
var dat = (from stus in _Stus
                       join st in _Student on stus.stus1 equals st.st1
                       join sk in _SK on st.st1 equals sk.sk2
                       join std in _STD on stus.stus1 equals std.std2
                       join gr in _Grup on std.std3 equals gr.gr1
                       join sp in _Specialyty on gr.gr2 equals sp.sg1
                       join f in _Facultet on sp.sp5 equals f.f1
                       join d in _Disciplin on stus.stus18 equals d.d1
                       join sem in _Sem on gr.gr2 equals sem.sem2
                       join p in _Teacher on stus.pd2 equals p.p1
                       join stusP in _StusOtrab on stus.stus0 equals stusP.stusp0 into stusOtr
                       from stusP in stusOtr.DefaultIfEmpty()
                       join abd in _ABD on st.st1 equals abd.abd62 into ABD
                       from abd in ABD.DefaultIfEmpty()
                       let eduLvl = (from s in sp14 where s == -1 select s).ToArray().Length == 4 ? sp.sp14 > -1 : sp14.Contains(sp.sp14)
                       let nationalyty = (st63 == 0 ? st.st63 > -1 : st63 == 1 ? st.st63 == 0 : st.st63 > 0)
                       let tDir = abd != null ? (abd6 == -1 ? abd.abd6 > -1 : abd.abd6 > abd6) : false
                       let medalist = abd != null ? (abd64 == -1 ? abd.abd64 > -1 : abd.abd64 > abd64) : false
                       let Ucourses = abd != null ? (abd35 == -1 ? abd.abd35 > -1 : abd.abd35 > abd35) : false
                       let checkAbd = ((abd6 == -1 && abd64 == -1 && abd35 == -1) || (nationalyty && tDir && medalist && Ucourses))
                       let Dvoiki = dvoiki.Where(i => i == string.Empty && i == "").Count() == 2 ? true: dvoiki.Where(i => i != string.Empty && i != "").Contains(stus.stus11)
                       where eduLvl && checkAbd && Dvoiki
                       && stus.stus20 == sem.sem7 && sem.sem3 == sem3 && sem.sem5 == sem5 && sem.sem20 == sem20 && sp.sg4 == sg4
                       select new
                       {
                           stus,
                           st,
                           sk,
                           gr,
                           sp,
                           f,
                           d,
                           sem,
                           p,
                           stusP
                       }).ToList();

Может я не умею писать запросы, но у меня почему-то при достаточно больших запросах даже в самом ibexpert-e(я с firebird работаю) - всё может висеть подооолгу так. А так - миллисекунды.

Или мы об одном и том же?
Не боюсь позориться, главное узнать у профи, как правильно писать.
Ответ
#29
kpNemo Написал:Всмысле поржал?

В прямом, ТС говорит что итерировать i это нагрузка на процессор.
Ответ
#30
Necroz-Team Написал:В прямом, ТС говорит что итерировать i это нагрузка на процессор.

Простите, неверно вас понял.

К ТСу: а как тогда?
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Универсальная система оценки кода foxovsky 3 1,527 06-14-2016, 06:45 PM
Последний пост: Sojang
  Какой есть софт для актуализации кода из SVN? flopix 6 1,663 01-28-2016, 04:38 PM
Последний пост: n3k0nation
  Многократное нарушение Правил Krasavella 30 5,184 07-01-2013, 01:38 PM
Последний пост: Zeratyl
  Почему цензоры не знают правил форума? Krasavella 26 5,369 05-05-2013, 02:57 PM
Последний пост: MrShyr
  Расшифровка кода xolseg 5 2,322 07-13-2012, 09:56 PM
Последний пост: Aquanox

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)