Home
mc-dev
mc-dev@conference.jabber.ru
01.11.2012< ^ >

Тема: http://www.midnight-commander.org | Latest release: 4.8.6 | Latest stable release: 4.8.1.6
[05:02:00] iliamaslakov зашёл в конференцию
[05:14:39] andrew_b зашёл в конференцию
[05:29:23] iliamaslakov вышел из конференции: Machine going to sleep
[06:58:58] iliamaslakov зашёл в конференцию
[07:26:29] <iliamaslakov> надо отсеивать \\e[M
[07:26:38] <iliamaslakov> в обучении
[07:28:01] <iliamaslakov> иначе получатся вот такая фигня
home=$\\e[M@h#\\e[M#h#
[07:28:26] <iliamaslakov> это кликнул в момент обучения мышкой
[07:29:33] <iliamaslakov> andrew_b, но это не твоя вина
[07:32:05] <iliamaslakov> andrew_b, что значит " Buld "Learn keys" dialog in normal order."
[07:32:14] <iliamaslakov> опечатка?
[07:32:41] <iliamaslakov> должно быть Build?
[07:33:29] <andrew_b> Да.
[07:33:47] <andrew_b> Я не стал вчера ещё раз перебазировать.
[07:37:48] <iliamaslakov> ok
[08:12:54] <iliamaslakov> почему
if (f_pos <= 2)
[08:13:07] <iliamaslakov> почему не
if (f_pos < 3)
[08:13:22] <andrew_b> ХЗ
[08:16:41] ASM вышел из конференции
[08:16:43] ASM зашёл в конференцию
[08:20:25] <iliamaslakov> file_idx = files_on_begin == 1 ? 1 : (files_on_begin - current_panel->marked + 1);
можно попросить заменить на if?
[08:20:42] <andrew_b> Нет.
[08:20:46] <iliamaslakov> например
file_idx = files_on_begin;
if (files_on_begin > 1)
file_idx -= current_panel->marked + 1;
[08:21:12] <iliamaslakov> ну читаемость кода же от этих == 1 ? 1 : (
[08:21:16] <iliamaslakov> страдает
[08:21:31] <andrew_b> Это лично Ваши проблемы.
[08:21:39] <iliamaslakov> нет
[08:22:27] <iliamaslakov> <= 0 как там обрабатывается?
[08:22:34] <iliamaslakov> почему именно ==1 ?
[08:23:30] <andrew_b> ХЗ
[08:48:17] <iliamaslakov> давай я поправлю, тебе наверное влом по таким пустякам запариваться
[08:48:36] <andrew_b> Что?
[08:49:37] <iliamaslakov> if (f_pos <= 2)
[08:49:43] <andrew_b> Зачем?
[08:49:50] <iliamaslakov> меньше кода
[08:49:55] <andrew_b> Доооо.
[08:50:09] <iliamaslakov> на пару инструкций
[08:50:18] <iliamaslakov> там 2 сравнения
[08:50:35] <iliamaslakov> на < и на равно
[08:50:54] <andrew_b> Ты ассемлерный код смотрел?
[08:52:27] <iliamaslakov> давно когда то
[08:52:37] <andrew_b> Дада.
[08:53:18] <iliamaslakov> и что ты намекаешь на то что gcc там все заоптимизировал да?
[08:53:28] <andrew_b> Я не знаю.
[08:54:06] <iliamaslakov> это
file_idx = files_on_begin == 1 ? 1 : (files_on_begin - current_panel->marked + 1);
можно я поправлю?
[08:54:28] <andrew_b> Нет.
[08:54:56] <iliamaslakov> Ооох...
[08:55:08] <iliamaslakov> Ну как с такими людьми то, а...
[08:58:31] <iliamaslakov> пойду на обед, после продолжу
[08:59:39] <iliamaslakov> добрался пока до src/filemanager/hotlist.[ch]: cleanup.
[09:23:52] D-ion вышел из конференции: Replaced by new connection
[09:23:55] D-ion зашёл в конференцию
[10:21:38] <iliamaslakov> ну вот... и тут
588 if (hotlist_state.moving)
589 dlg_select_widget (l_movelist);
590 else
591 dlg_select_widget (l_hotlist);

563 dlg_select_widget (h == hotlist_dlg ? l_hotlist : l_movelist);
[10:24:28] <iliamaslakov> вот даже когда отлаживаешь не удобно такой код смотреть
[10:25:43] <iliamaslakov> Андрей, можешь объяснить зачем нужно такой код переделывать?
[10:25:56] <iliamaslakov> какую цель преследуешь?
[10:28:18] <iliamaslakov> тут не мог бы добавить скобок после фор ?
778 for (i = 0; i < hotlist_but_num; i++)
779 if ((hotlist_but[i].type & list_type) != 0)
780 add_widget_autopos (hotlist_dlg,
781 button_new (y + hotlist_but[i].y, UX + hotlist_but[i].x,
782 hotlist_but[i].ret_cmd, hotlist_but[i].flags,
783 hotlist_but[i].text, hotlist_button_callback),
784 hotlist_but[i].pos_flags, NULL);
[10:28:45] <iliamaslakov> 778 for (i = 0; i < hotlist_but_num; i++)
{
779 if ((hotlist_but[i].type & list_type) != 0)
780 add_widget_autopos (hotlist_dlg,
781 button_new (y + hotlist_but[i].y, UX + hotlist_but[i].x,
782 hotlist_but[i].ret_cmd, hotlist_but[i].flags,
783 hotlist_but[i].text, hotlist_button_callback),
784 hotlist_but[i].pos_flags, NULL);
}
[10:29:56] <iliamaslakov> и тут
829 for (i = 0; i < hotlist_but_num; i++)
830 if ((hotlist_but[i].type & LIST_MOVELIST) != 0)
831 add_widget_autopos (movelist_dlg,
[11:24:51] <andrew_b> Мне не нравятся лишние необязательные скобки.
[11:41:52] <iliamaslakov> они нужны
[11:42:25] <iliamaslakov> Braces

Braces for code blocks used by for, if, switch, while, do..while, etc. should begin on the next line after the statement keyword and end on a line of their own.

Functions are different and the beginning left brace should be located in the first column on the next line.

If the beginning statement has to be broken across lines due to length, the beginning brace should be on a line of its own.
[11:42:43] <iliamaslakov> This is right:
for (j = 0; j < 10; j++)
{
for (i = 0; str_options[i].opt_name != NULL; i++)
g_free (*str_options[i].opt_addr);
}
[11:43:04] <iliamaslakov> This is wrong:
for (k = 0; k < 10; k++)
for (j = 0; j < 10; j++)
for (i = 0; str_options[i].opt_name != NULL; i++)
g_free (*str_options[i].opt_addr);
[11:47:14] <andrew_b> Это ты свои комплексы описал.
[11:47:38] <andrew_b> В рельаности ничего wrong в нижнем куске кода нет.
[11:48:17] <andrew_b> Зато раздувание количества строк налицо.
[11:52:47] <iliamaslakov> это наш регламент описывающий как нужно оформлять код, не более
[11:53:13] <iliamaslakov> он появился для того чтобы проще было отсматривать код
[11:58:15] <andrew_b> Что упрощают скобки в right? А почему только для первого цикла? А почему для второго не нужно?
[12:13:43] <iliamaslakov> более одной строки значит скобки
[12:15:26] <andrew_b> Где это написано?
[12:19:47] <iliamaslakov> https://www.midnight-commander.org/wiki/Hacking
[12:19:50] <iliamaslakov> там
[12:20:21] <andrew_b> Цитату.
[12:22:47] <iliamaslakov> я думал достаточно примеров
[12:22:55] <iliamaslakov> когда там писал
[12:24:11] <andrew_b> Я предлагаю примеры убрать.
[12:25:42] <iliamaslakov> не надо, зачем это?
[12:26:01] <iliamaslakov> примеры как раз позволяют понять что имелось ввиду
[12:26:28] <andrew_b> Мне непонятно.
[12:26:36] <andrew_b> А почему только для первого цикла? А почему для второго не нужно?
[12:27:33] <andrew_b> Пример -- это иллюстрация правила. Самого правила нет. => Примеры фтопку.
[12:42:36] <iliamaslakov> А почему только для первого цикла? А почему для второго не нужно?
да не первого цикла
[12:43:59] <iliamaslakov> речь идёт о code blocks used by for, if, switch, while, do..while, etc.
[12:44:41] <andrew_b> Да.
[12:44:55] <andrew_b> for (j = 0; j < 10; j++)
{
for (i = 0; str_options[i].opt_name != NULL; i++)
g_free (*str_options[i].opt_addr);
}
[12:45:13] <andrew_b> Почему для цикла по i скобки не обязаательны?
[12:45:18] <iliamaslakov> после for (i = 0; str_options[i].opt_name != NULL; i++) идёт одна строка
[12:45:22] <iliamaslakov> g_free (*str_options[i].opt_addr);
[12:45:25] <andrew_b> И что?
[12:45:41] <iliamaslakov> после for (j = 0; j < 10; j++) идёт 2 строки
for (i = 0; str_options[i].opt_name != NULL; i++)
g_free (*str_options[i].opt_addr);
[12:45:58] <iliamaslakov> поэтому после for (j = 0; j < 10; j++) ставится скобка
[12:46:06] <andrew_b> Где это написано?
[12:46:22] <iliamaslakov> как это будет по английски?
[12:46:37] <iliamaslakov> я напишу, я думал это очевидно
[12:46:47] <andrew_b> Я против.
[12:46:58] <iliamaslakov> кроме того когда эти правила прописывали мы это тут обсуждали
[12:47:25] <andrew_b> This is wrong:
for (k = 0; k < 10; k++)
for (j = 0; j < 10; j++)
for (i = 0; str_options[i].opt_name != NULL; i++)
g_free (*str_options[i].opt_addr);

Чем это плохо?
[12:47:33] <andrew_b> Вот чисто конкретно.
[12:47:37] <iliamaslakov> этот код сложно смотреть
[12:47:55] <andrew_b> А со скобками резко полегчает.
[12:47:58] <iliamaslakov> да
[12:48:06] <andrew_b> Это неочевидно.
[12:48:21] <iliamaslakov> видно где начало и конец конструкции
[12:48:50] <iliamaslakov> то что ты показал оно умещается на экране
[12:50:51] <andrew_b> То, к чему ты придираешься в hotlist.c, тоже умещается наэкране.
[12:51:14] <iliamaslakov> но часто условия гораздо длиннее и сложнее
[12:51:29] <iliamaslakov> я не придираюсь
[12:52:13] <iliamaslakov> я понимаю что ты проделал огромную работу и поэтому я и так проголосую, но
[12:53:03] <iliamaslakov> но если мы будем придерживаться стандартов то всем будет лучше и тогда возможно никто не пострадает
[12:53:35] <andrew_b> Никакого стандарта нет.
[12:53:50] <andrew_b> Ничего не написано, когда ставить скобки, а когда нет.
[13:06:58] <iliamaslakov> Можно я просто проставлю скобки где мне покажется это необходимым?
[13:07:08] <iliamaslakov> а?
[13:07:22] <andrew_b> В своих коммитах ставь.
[13:08:31] <andrew_b> И вообще, в связи с использованием indent раздел Braces больше неактуален.
[13:11:42] <iliamaslakov> 483 for (i = 1; i < num - 1; i++)
484 if (rd_widgets[i].value != 0)
485 {
486 if (row != rd_widgets[i].ypos)
487 {
488 row = rd_widgets[i].ypos;
489 l2 = max (l2, l);
490 l = 0;
491 }
492 l += widgets_len[i] + 4;
493 }
[13:11:49] <iliamaslakov> например
[13:12:54] <iliamaslakov> andrew_b: И вообще, в связи с использованием indent раздел Braces больше неактуален.
ээх...
[13:57:10] <iliamaslakov> andrew_b, не знаю сгодится тебе или нет
[13:57:39] <iliamaslakov> сделал себе панелизацию для текущего бранча
git diff --stat `git branch|grep "*"|cut -f2 -d" "` origin/master|grep "|" |awk '{print ($1)}'
[13:58:05] <iliamaslakov> выводит в панели все файлы изменённые в текущем бранче
[14:24:48] andrew_b вышел из конференции
[17:34:29] andrew_b зашёл в конференцию
[19:06:21] andrew_b вышел из конференции
[20:39:37] ASM вышел из конференции
[22:28:20] iliamaslakov вышел из конференции: Replaced by new connection
[22:28:28] iliamaslakov зашёл в конференцию
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!