<tagezi>
вы тогда решали что-то с Ромкой по его поводу
<tagezi>
и ещё один вопрос, почему ко мне залезла папка в патчь, и как её от туда удалить?
<mikekaganski>
1. В патче строка 686 - нужен отступ: она относится к if выше
kompi has quit [Ping timeout: 268 seconds]
<mikekaganski>
2. Ты, наверное, использовал git commit -a или что-то в этом роде?
<tagezi>
lf
<tagezi>
да
<mikekaganski>
хм. Я бы переделал коммит. Дропнул бранч, создал заново, внёс изменения, git add basctl/source/basicide/baside2.cxx и git commit
<mikekaganski>
я всегда делаю git status и тогда уж смотрю, можно ли делать -a
<tagezi>
папки в статусе не было
<mikekaganski>
странно
<mikekaganski>
это субпроект
<tagezi>
я всегда смотрю статус перед, чтобы видеть что вноситься, не задел ли случаной другие файлы
<mikekaganski>
и в коммите другая его ревизия
<mikekaganski>
как будто у тебя он рассинхронизирован
<tagezi>
черт.. было у меня такое уже
<tagezi>
так, объясни по поводу отступа, не понимаю
<mikekaganski>
ты если переделаешь коммит, в commit message скопируй всё из старого (из геррита), включая Change-Id: Ib65c38c7e99ff4667c021240a1412c8f57f53cbe
<mikekaganski>
Про отступ
<mikekaganski>
if ( aSel.GetStart().GetPara() == aSel.GetEnd().GetPara() ) // single line selection
<mikekaganski>
следующая за этим строка должна быть с отступом - как было исходно
<tagezi>
аааа...
<tagezi>
да, по ночам нужно спать ))
<mikekaganski>
:)
<mikekaganski>
про Change-Id: увидел?
<tagezi>
да.. этот удалить, новый создать, в коммит меседж скопировать Change-Id: от старого
<mikekaganski>
ок, спасибо
<tagezi>
))
<tagezi>
мне то за что? )))
<mikekaganski>
ты фиксишь баги
<mikekaganski>
и чистишь код
<tagezi>
вообще, вот честно, я это ради себя делаю.. вообще ради себя от и до ))
<mikekaganski>
это лучше всего
<tagezi>
так, с комитом разобрался
<tagezi>
по поводу шибок не смотрел?
<tagezi>
эту вы с Ромкой обсуждали не давно, буквально на днях
<tagezi>
вообще, если честно, я не савсем понимаю, зачем нужна функция которая ничего не делает
<mikekaganski>
классический пример. Базовый объект "форма" с виртуальной операцией "повернуть", чтобы пользователь мог крутить любую форму
<mikekaganski>
от неё наследуют треугольник, квадрат и круг
<mikekaganski>
для треугольника и квадрата "повернуть" занимается (бес)полезной работой
<mikekaganski>
а для круга ничего делать не нужно: как ни крути, ничего не изменится на экране
<mikekaganski>
В данном случае почему-то важно, чтобы это конкретное окно при отрисовке не делало ничего, в т.ч. то, что прописано в предке
<mikekaganski>
(я не знаю почему) - но даже не нужно, чтобы вызывался CallEventListeners(VclEventId::WindowPaint, const_cast<tools::Rectangle *>(&rRect));
<mikekaganski>
который вызывался бы, если бы не создали такую пустую функцию
<mikekaganski>
вот
<tagezi>
пример квантовой пробки, для предотвращения квантового тунелирования
<tagezi>
понятно )
<tagezi>
даже никогда не думал о таком, всегда как-то обрабатывал события, когда нужно а когда нет
<tagezi>
а у этого есть какой-нибудь эзотерический смысл?
<tagezi>
ведь, либо да, либо нет
<mikekaganski>
хм... а что тут не так? если у тебя курсор не внутри sub или function, тогда если ты жмёшь Run, у тебя откроется окно выбора чего run
<mikekaganski>
или ты про 344?
<tagezi>
я про ифы
<tagezi>
если нет, то это. если есть то
<mikekaganski>
ну, в 338 всё вроде нормально, так?
<mikekaganski>
"проблема" в 344, где можно было бы написать else, либо вообще убрать, поскольку выше в случае true идёт выход из функции
<mikekaganski>
так что да, в 344 лишнее
<tagezi>
нет, пМетод принимает значение до цикла
<mikekaganski>
и?
<tagezi>
так что при выходе он может иметь тру
<mikekaganski>
(где цикл?)
<mikekaganski>
ты про for?
<tagezi>
фор
<tagezi>
угу
<mikekaganski>
а при чём тут он???
<mikekaganski>
доходим до 338
<mikekaganski>
тут у нас pMethod либо есть, либо нет
<mikekaganski>
если нет, выполняем 341
<mikekaganski>
затем 342 - выходим из функции вообще
<mikekaganski>
то есть если нет, то мы никогда до 344 не дойдём
<mikekaganski>
если мы на 344, то значит, по-любому pMethod есть
<tagezi>
да
<mikekaganski>
так что "контрольная проверка" лишняя
<tagezi>
я тебе про это и начал с самого начала говорить
<mikekaganski>
ну, я как бы это и написал, а ты "нет, при выходе из цикла может быть тру"
<mikekaganski>
или ты про моё "выше в случае тру идёт выход из функции"?
<tagezi>
[09:49:36] <mikekaganski> "проблема" в 344, где можно было бы написать else, либо вообще убрать, поскольку выше в случае true идёт выход из функции
<tagezi>
да, вот этого не понял
<mikekaganski>
а... ясно
<mikekaganski>
pMethod - это не булевая переменная, а указатель
UNIm95 has joined #libreoffice-ru
<mikekaganski>
Если мы "проверяем" указатель, то результат проверки true, если указатель установлен, и false, если указатель нулевой
<mikekaganski>
сам pMethod не true и не false, он нулевой либо ненулевой
<mikekaganski>
но результат проверки может быть true/false
<tagezi>
это я тоже понимаю )
<mikekaganski>
вот я и писал про результат проверки (!pMethod) - вся конструкция true, если указатель *нулевой*
<mikekaganski>
там же отрицание
<tagezi>
так, хватит ))
<tagezi>
это я понимаю )
<tagezi>
интересно, много такого в коде?
<mikekaganski>
дофига
<mikekaganski>
поэтому Ноэль как бешеный чистит уже хз сколько
<mikekaganski>
и всякие плагины для силанга пишут, чтобы автоматом всякую ересь выявлять
<mikekaganski>
но всё автоматически не исправишь
<JohnDoe_71Rus>
волшебного единорога с радугой часто натравливаете?
<mikekaganski>
Обычно молимся макаронам
<JohnDoe_71Rus>
:)
<mikekaganski>
а если честно, то пользуем коверити - она бесплатная
<mikekaganski>
а эти сами, когда хотят (два раза уже) проверяют по собственной инициативе
<mikekaganski>
ещё с недавних пор пользуем фуззинг от гугла
<JohnDoe_71Rus>
так, они под линукс что ли выкатили бесплатное
<mikekaganski>
хм... мы не тянем на эти категории, даже на коллектив энтузиастов... хотя попробовать можно
<mikekaganski>
см. второй абзац "Размышлений"
<tagezi>
да опухшая лошадь с колом во лбу не нашла bAdd
<tagezi>
хотя они там хорахорятся что это находят
<mikekaganski>
Ну, никто не нашёл, на самом деле, до тебя
<mikekaganski>
и коверити тоже
<tagezi>
я лучше лошади )
<mikekaganski>
:))
VitaliyAnderson has joined #libreoffice-ru
<JohnDoe_71Rus>
mikekaganski: условия всегда можно обсудить, они сами так и пишут. если есть возможность надо использовать все для проверки кода
<mikekaganski>
Вы, по-моему, не прочитали статью. Они чётко прописали всё там, обсуждать нечего. Мы не подходим. А с нашей стороны - мы как раз всё, до чего дотягиваемся, используем
<tagezi>
JohnDoe_71Rus: и потом, мужики сами проверяют код и заявляют что сообщают об найденых ошибках
<VitaliyAnderson>
ооо
<VitaliyAnderson>
а я к ним на собеседование ходил
<mikekaganski>
У нас и ci, и cppcheck, и fuzzing, и coverity, и peer review. И я был бы рад использовать и лошадь, правда, она впечатляет по написанному ими. И их находки мы всегда правим.
<VitaliyAnderson>
сказали у меня слабые знания по с++ :(
<tagezi>
хотя понятно, что они это делают только для рекламы, им насамом деле вообще побоку, работает их код или нет
<mikekaganski>
tagezi: ну это нормально
<VitaliyAnderson>
JohnDoe_71Rus: это же наши чуваки
<mikekaganski>
если рынок заставляет их делать рабочий код, то это очхор
<JohnDoe_71Rus>
мне так думается что нерабочий код рынку не нужен. хотя как знать...
<mikekaganski>
просто если пользовать их в обход - это против принципов LO/TDF
<mikekaganski>
а если покупать - то на чьи деньги?
<mikekaganski>
но! можно внести предложение по поводу трат бюджета. Если будет много за - упим
<tagezi>
а они под линь научились компилить? или всё также через вайн запускать?
<mikekaganski>
tagezi: это хороший стиль. Явно указать, что ты не хочешь потом менять значение. И программисту проще, и компилятору
<tagezi>
хм.. не знал
<tagezi>
и не савсем понятно как это должно работать.. константа задается при компиляции, вроде как
<tagezi>
то есть, это должно быть заменено на тру или фалс при компиляции, и всё
<mikekaganski>
нет, не обязательно. В этом случае компилятор видит же, когда получено значение. В простейшем случае для кода не изменится ничего, просто компилятор не позволит человеку потом изменить это значение
<mikekaganski>
а код сгенерится, как будто это переменная
<mikekaganski>
тебя же не удивляют константы в параметрах функций, хотя они и определяются рантайм при вызове функции
<tagezi>
вообще удевляет )) но я это списываю на не знание кода )
<tagezi>
теперь больше не будет удивлять ))
<tagezi>
мдя.. учиться и учиться.. оказывается я не только не помню, но ещё и не знаю )
<mikekaganski>
не страшно
<tagezi>
нет, это страшно.. представляешь сколько за 20 лет кода то написано )))
<JohnDoe_71Rus>
кода. а представляешь сколько мусора в соцсетях сгенерено за то же время? и ведь это все записывается и складируется
<tagezi>
но ужос начинается тогда, когда ты случайно успел сделать исправления )))
<tagezi>
вот тогда, мозг у новечка реально начинает взрываться )))
<tagezi>
помню свой первый опыт, но наверное ни у кого не забывается.. нужно было поправить конфиг, а как редактор по умолчанию стоял вим.. и я был второй день в своей жини на Линухе
<tagezi>
mikekaganski: а чего он его забросил?
<mikekaganski>
tagezi: без понятия. Услышал kompi и устыдился ?
<tagezi>
второй патч выкатил, значит пытается бороться пока
<tagezi>
хотя, блин такой огромный патч, если только в выходные ночью можно проталкнуть
<tagezi>
mikekaganski: слушай, а лог сборки пишеться автоматом? и где его можно посмотреть?
<mikekaganski>
Насчёт второго - всё логично. В первом было что-то не так, а может, уже слишком длинная история, ничего не понятно, он и решил переделать заново
<mikekaganski>
лог сборки у тебя локально?
<mikekaganski>
нет по-моему
<tagezi>
ну вот я сейчас собираю, лога не вижу
<mikekaganski>
ну и правильно
<mikekaganski>
нужен лог - используй перенаправление / tee
<mikekaganski>
чистка нужна человеку, чтобы работать удобно и не делать ошибок из-за бреда в коде
<tagezi>
ну, тут бы я посмотил, чуть меньше памяти, чуть меньше операций
<mikekaganski>
по факту нет
<mikekaganski>
нормальный компилятор обязан это правильно понять и исключить
<tagezi>
забрасывать его?
<mikekaganski>
да, забрось
<tagezi>
никогда не слушал чтобы компиляторы исправляли излишние проверки
<tagezi>
слышал*
<mikekaganski>
:) а он есть (TM)
<tagezi>
ну, тебе виднее, ты постоянно программируешь, а я не особо лез в компиляторы.. я старался код вылизывать начиная с алгоритма
<tagezi>
по идее тогда и тот если есть, а если нет тоже не делают погоды вообще, потому что там понятно что происходит и для человекаи для компилятора
<tagezi>
и компилятор не делает этой второй проверки, а воспринимает это как иначе
<mikekaganski>
любой мусор в коде должен быть вычщен. Нам и без мусора хватает массы кода. Поэтому твоя чистка, хоть и не меняет скомпилированного кода, тем не менее важна.
<mikekaganski>
Кроме того, весь мусор обрабатывается компилятором, и твоя правка - вклад в ускорение компиляции (не нужно анализировать ненужность бреда)
<tagezi>
ну, на время компиляции это почти не влияет.. если оно будет компилироваться не 6 частов, а 5 чассов 59 минут 59 секунд 9 долисекунд
<tagezi>
я думую вообще никто не обратит внимания
<tagezi>
понятно почему они до сих пор есть тогда.. как бы и не мешают особо
<mikekaganski>
ты зацикливаешься на конкретной правке.
<tagezi>
не, я вообще о процессе.. правка не причем )
<mikekaganski>
А если каждый, работая в своём кусочке, обращает внимание на какой-то косяк и тратит пять сек на исправление, это накапливается. Это называется качество кода
<mikekaganski>
(или не исправляет, да ещё свои косяки добавляет)
<tagezi>
я всегда воспринимал код по другому.. может потому что начинал с ассемблера
<mikekaganski>
я тут как раз ревьюер в одном таком случае - не знаю, то ли психовать, то ли что
<VitaliyAnderson>
Я в одном патче исправил 3 ненужных std::map::find()
<VitaliyAnderson>
а это дорогие вызовы
<tagezi>
ну, я до такого ещё не дорос
<VitaliyAnderson>
исправление малое, но когда у тебя 100 таких вызовов find - увеличивается существенно сложность алгоритма
<VitaliyAnderson>
и тогда уже это может влиять на скорость заметно
<VitaliyAnderson>
так что если 10 человек, оптимизируют штук 30 таких мест по малому кусочку в алгоритме, скорость поднимется
<tagezi>
достаточно чтобы if вызывался при каждом движении мышкой.. просто один иф, и это уже будет влиять на скорость передвижения
<tagezi>
хотя наверное на мощных компах - это будет не заметно
<tagezi>
мне вчерашний патч с пунктом меню не нравться, потому что я не понимаю до конца что происходит
<mikekaganski>
почему? ты спрашивай
<tagezi>
да ты мне и так, походу, на вопросы вместо работы отвечаешь
<tagezi>
ты хотя бы себе в лист вписывай кураторство )
<mikekaganski>
:) нормально
<tagezi>
ну вот вопрос про, std::shared_ptr - это класс shared_ptr библиотеки std, а зачем тогда использовать двоеточие?
<tagezi>
двоеточие же нужно для вложеных классов
<mikekaganski>
не совсем
<mikekaganski>
это класс, определённый в пространстве имён std
<mikekaganski>
если у нас нет using std; значит мы должны указывать его явно
<JohnDoe_71Rus>
с иконками в принципе нормально, о чем говорит нижня панель plank
<mikekaganski>
я не спорю, я только спрашиваю, пробовал ли
<JohnDoe_71Rus>
нет не пробовал
<JohnDoe_71Rus>
mikekaganski: вот чего мне ответили на lxde канале? <+agaida> JohnDoe_71Rus: and what should the mostly LXQt upstream do about lubuntu problems? то что libra на lxqt ориентируется ?
<mikekaganski>
я не знаю, на что ориентируются linux-integration-девы. Я просто этого не касаюсь. При этом я сильно сомневаюсь, что buovjaga это знает
<mikekaganski>
но у меня какое-то чувство, что такая проблема была бы заметна в гугле. Ты проверял на других машинах? На виртуалке?
<JohnDoe_71Rus>
после того как проверил что откат на 4-ку работает корректно, могу в воскр на ноуте проверить. там аналогичная лубунта
<mikekaganski>
попробуй, плиз
<tagezi>
жесть долго собирается
<tagezi>
Julien Nabet, кстати, ошибку нашёл
<tagezi>
я савсем забыл об очерёдности логических операторов в с++
<tagezi>
приоритете
<tagezi>
патчи, кстати, мне больше нравиться делать, чем справку писать (
<kompi>
ахахах
<kompi>
tagezi: вот почему кодеры пишут фигню
<tagezi>
kompi: почему фигню?
<kompi>
оно просто легче, а зачем там юзеру это надо вот так криво, как проще кодеру, это никого не волнует
<tagezi>
насамом деле, очень просто говорить, когда не умеешь делать
<kompi>
вот как факториал без цикла считать?
<kompi>
и без го то
<tagezi>
рекурсией
<kompi>
как сделать рекурсию без цикла?
bormant has joined #libreoffice-ru
<tagezi>
а там не нужен цыкл, рекурсия это функция которая входит в себя
<bormant>
всем добра
<kompi>
привет
<tagezi>
тебе нужно только определить точку останова ифом
<tagezi>
bormant: привет, Серж )
<kompi>
tagezi: вот это мне и непонятно, я алгоритм не понимаю
<kompi>
bormant: к тебе казах не обращался?
<bormant>
kompi: рекурсия непонятна?
<kompi>
рекурсия понятна, непонятна рекурсия без цикла
<bormant>
kompi: мог не заметить... А повод?
<tagezi>
рекурсия и делается чтобы избежать цикла
<kompi>
bormant: ему надо было посмотреть где в ГУИ находится конкретный термин, то есть есть ли инструмент, который это позволяет делать
<bormant>
kompi: на форуме вроде ЛС нет, в почте тоже не вижу
<bormant>
kompi: давно дело было?
<kompi>
bormant: мое дело было его послать, как уж он там решил - это его проблема
<kompi>
bormant: 19 мая
<tagezi>
функция Рекурсия(н, ф, и) {если н>и то ф*и; и++ ; вызываем функцию Рекунсия(н, ф, и) }
<tagezi>
как-то так.. в коде проще, получается
<tagezi>
напиши на бесике, он простой
<tagezi>
можно от обратного плясать, как душе будет угодно.. рекурсия - это функция которая вызывает сама себя
<JohnDoe_71Rus>
а цикл не сам себя повторяет?
<bormant>
вот вам факториал: unsigned long int f(unsigned int n) { return n > 1 ? n * f(n-1) : 1 }
<tagezi>
:)))
<kompi>
bormant: го то нету
<kompi>
JohnDoe_71Rus: а условие сделать без цикла
<tagezi>
кого нету?
<kompi>
до меня дошло
<kompi>
меня нету
<JohnDoe_71Rus>
kompi: если рекурсия себя повторяет и цикл тоже. не является рекурсия случаем цикла или наоборот
<kompi>
почитай вики
<tagezi>
это словоблудие, ты не можешь цыклом обходить графы, а рекурсией можешь
<kompi>
прямо по слову "рекурсия"
<JohnDoe_71Rus>
не словоблудие а риторика
<kompi>
tagezi: цыган, цыпочки, цыпленок - слова-исключения, все остальное ЦИ
<tagezi>
риторика, это наука выражаться так, чтобы никто не понял, что ты нифига не знаешь )
<tagezi>
kompi: kiitos )
<kompi>
сам киитос
<kompi>
какой же кайф сидеть в тишине ппц
JohnDoe_71Rus has quit [Quit: KVIrc KVIrc Aria 4.9.2, revision: git-7099-gca80ee628, build type: debug, sources date: 20160102, built on: 2017-03-12 14:49:35 UTC git-7099-gca80ee628 http://www.kvirc.net/]
<kompi>
tagezi: видел панель инструментов Форматирование (стили)?
<tagezi>
неа
<tagezi>
я сегодня баг правил )))
<tagezi>
выясняется что я с++ уже конкретно забыл, так что это долго и мутарно
<tagezi>
ура, собралось ))
<tagezi>
я даже не знал о таком баге.. никода не пытался комментировать строки в басик как в SQL