ChanServ changed the topic of #libreoffice-ru to: Канал поддержки русскоязычных пользователей LibreOffice | Wiki TDF http://tdf.io/wikiru | On-line документация http://tdf.io/helpru | Логи канала: http://goo.gl/gzwdwU
JohnDoe_71Rus has quit [Read error: Connection reset by peer]
JohnDoe_71Rus has joined #libreoffice-ru
mikekaganski has joined #libreoffice-ru
jrj_ has quit [Quit: Leaving]
_whitelogger has joined #libreoffice-ru
jrj_ has joined #libreoffice-ru
jrj_ has quit [Client Quit]
jrj_ has joined #libreoffice-ru
jrj_ has quit [Remote host closed the connection]
jrj_ has joined #libreoffice-ru
jrj_ is now known as jrj
jrj has quit [Quit: Leaving]
jrj has joined #libreoffice-ru
<kompi> mikekaganski: когда отделение беты? в среду?
<JohnDoe_71Rus> https://www.opennet.ru/opennews/art.shtml?num=47596 любопытно
<tagezi> опенет зжот.. реально любопытно
<tagezi> из 4,5 штук 8 гнилые :)
<kompi> JS любят копировать себе чужие проекты
<kompi> в 100% объеме да
<tagezi> гитхаб это прежде всего облако для созранения того что нашёл и не хочешь потерять
<tagezi> так что это иследование яйца выеденого не стоит
<JohnDoe_71Rus> ну почему. иногда на собеседованиях спрашивают проекты на гитхабе
<tagezi> а перевод темболее... кто-то взял статью, пропустил через гт и причесал как ему хотелось
<tagezi> спрашивают, но свои проекты, показывать копипаст, это как сказать факофф работадатель, я просто ворую у вас время
<tagezi> лучше показать только патч для чегото, чем месево
* tagezi на прошлой неделе только вычищал свой гитхаб :)
<JohnDoe_71Rus> свои проекты это хорошо. там и обсуждается что проект на JS тянет зависимостей 95% и только 5% получается полезного собственного кода
<tagezi> да, и когда работодатель видит, что человек копипастит, а не использует зависимости, он сразу понимает, что у человека базовые знания
<tagezi> а такие можно и не показывать, побольшому счету
<tagezi> базовое знание по JS делается за пару вечеров
<JohnDoe_71Rus> копипастить вынуждает ситуация. сегодня работает, завтра вчерашний код не работает, зависимости обновились
<mikekaganski> На самом деле работодателю важно знать, что человек может решить задачу. Уровень знаний - это всего лишь один из показателей, характеризующих эту способность (единственно важную на самом деле)
<JohnDoe_71Rus> и приходится рабучую версию тащить себе в git
<tagezi> старые версии всегда остаются
<tagezi> короче, это фигня..
<tagezi> у меня тоже самое на гите было.. например скрипты для вим.. вот мне не разу не здалось каждый раз подстраивать их под себя, я скачал, настроил, а потом полумал что хорошобы их куданибудь выложить, чтобы не перенастраивать
<tagezi> и естественно я не делал форк, а просто запульнул их туда
<tagezi> в итоге у меня скопипащеный проект, с 10-15 строками правки
<JohnDoe_71Rus> http://i.imgur.com/1ZlBttg.jpg у нас зима
<tagezi> у нас тоже
<tagezi> mikekaganski: скажи мне, пулять в 5.4 правки?
<tagezi> или не стоит?
<mikekaganski> я не пуляю, если не критично
<tagezi> ну, вероятность на враться на эту ошибку очень мала
<tagezi> и перезагрузка виндовс, поможет её обойти :)
<JohnDoe_71Rus> семь бед один ресет
<mikekaganski> Особенно если ЛО на Лин ;-)
<mikekaganski> (КО сообщает: данная ошибка не требует ребутить ОС, только саму ЛО)
<kompi> tdf#95880 Add a lock mark on protected sheet tab.
<kompi> как вы думаете, что это и где?
<kompi> хм
<kompi> замочек на ярлыке?
<tagezi> что-то я не могу себе найти нормального бага для треировки :(
<tagezi> mikekaganski: можешь помочь?
<tagezi> отличия только в названии функции и принимаемом параметре
<tagezi> а, ещё в конце по разному отрабатываются действия
<tagezi> mikekaganski: я хочу вынести общий кусок как обдельную функцию, сможешь потом проверить?
<mikekaganski> ага
* kompi наблюдает рождение очередного ломателя Либры
<tagezi> да ладно, одним больше, одинм меньше, погоды не сделает
<tagezi> если ты посмотришь регрессии в багзиле, то с ужасом сожешь обнаружить, что на каждое исправление ошибки, приходиться парочка новых регрессий
<tagezi> а я много не исправлю
<mikekaganski> :)
<tagezi> mikekaganski: слушай, вот вопрос, там по уму, эти функции отличаются только хвостами
<mikekaganski> ага
<tagezi> и можно было бы заменить это всё на одну
<tagezi> но, как обработать хвосты?
<tagezi> раньше, я делал вспомогательную переменную, например булевую, и по ней определял что делать, но это плохой способ
<tagezi> в большом проекте это будет железно ошибка
<tagezi> как понять что вызвало ыункцию?
<tagezi> функцию*
<mikekaganski> Ты просто сделай функцию, которая будет возвращать четыре значения (через параметры-ссылки, например): nTitleSpaceWidth, nTitleSpaceHeight, nSecondTitleSpaceWidth, nSecondTitleSpaceHeight. А в этих функциях вызывай её и делай арифметику
<tagezi> не понял
<tagezi> там нужно понять, как считать aRet
<tagezi> он по разному считается, по этому и есть этот копипаст
<mikekaganski> Ну смотри: там вся логика - получить эти четыре параметра, а потом их вычесть/прибавить к соответствующим размерам прямоугольника
<tagezi> да
<mikekaganski> Ну вот, получение этих параметров - общая часть
<tagezi> да
<mikekaganski> а сложение-вычитание сотанется в этих функциях
<tagezi> не
<tagezi> так получиться просто вынос серидинки
<tagezi> от //detect whether x axis points into x direction or not
<tagezi> до расчета
<tagezi> или я слишком многого хочу?
<mikekaganski> Здрасьте. Так получится вынос 90%
<tagezi> 73% из всего повторения
<tagezi> а если определить когда какую математику делать, тогда 100% из возможного
<tagezi> :)
<tagezi> видимо я слишком многого хочу
<mikekaganski> не стоит усложнять. Код должен остаться читаемым
<tagezi> ну тогда тут просто.. нужно сделать приватную функцию, передать ей 4 параметра и вернуть 4
<tagezi> а можно же это разделить на 3 функции
<tagezi> 2 будут делать математику, а третья всю эту скопипасченую байду
<tagezi> mikekaganski: не?
<JohnDoe_71Rus> в большом проекте сложно наверно придумывать имена функциям
<tagezi> а, нет
<mikekaganski> tagezi: не меняй заголовок. Сделай статическую функцию (в безымянном namespace)
<tagezi> mikekaganski: что значит безымянный?
<mikekaganski> namespace { ... }
<tagezi> так они тут все такие, кроме первого
<mikekaganski> ну и хорошо, значит, всё, что в этих неймспейсах, не видно извне
<tagezi> эм
<tagezi> а как тогда вызываются эти функции?
<mikekaganski> только внутри
<mikekaganski> смотри: ExplicitValueProvider::addAxisTitleSizes видна снаружи
<mikekaganski> она и вызывается
<mikekaganski> а уже те функции, которые ей нужны для работы - локальны
<tagezi> так они находятся в безымянном namespace
<tagezi> chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx: awt::Rectangle aRect = ExplicitValueProvider::substractAxisTitleSizes(
<tagezi> chart2/source/inc/chartview/ExplicitValueProvider.hxx: substractAxisTitleSizes(
<tagezi> lera@infineco:~/projects/libreoffice$ grep -r "addAxisTitleSizes" --exclude-dir="translations" --exclude-dir="workdir" --exclude-dir="instdir" --exclude-dir="helpcontent2"
<tagezi> chart2/source/view/main/ChartView.cxx:awt::Rectangle ExplicitValueProvider::substractAxisTitleSizes(
<tagezi> chart2/source/controller/chartapiwrapper/Chart2ModelContact.cxx: aRect = ExplicitValueProvider::addAxisTitleSizes(
<tagezi> chart2/source/inc/chartview/ExplicitValueProvider.hxx: addAxisTitleSizes(
<tagezi> chart2/source/view/main/ChartView.cxx:awt::Rectangle ExplicitValueProvider::addAxisTitleSizes(
<mikekaganski> tagezi: стой, не надо тка
<mikekaganski> пуляй в pastebin
<tagezi> хорошо
<mikekaganski> Погодь, кто тебе сказал, что это в безымянном неймспейсе
<mikekaganski> Первый безымянный - строки 136-1029; второй - 1260-1266; третий - 1414-1564; дальше - 1980-2010; следующий уже после этих функций
<mikekaganski> а сами они в именованном неймспейсе chart
<tagezi> угу, вижу
<tagezi> закрыл все безымянные и стало видно
<tagezi> значит функцию мне нужно написать в неймспэйс который под ними?
<mikekaganski> не, создай над ними
<mikekaganski> под ними - будет им не видна
<tagezi> а возвращвемый тип будет awt::Rectangle?
<tagezi> не, sal_Int32
<tagezi> так, сяп, пойду писать новый баг для ЛО, надеюсь все буду счастливы его ругать в багзиле :)
<kompi> "пропал чат. сначала они будут обсуждать внесение изменений в код, потом они начнут портировать Либру на Qt..." (ц)
<mikekaganski> :)
<tagezi> mikekaganski: а как передавать xTitle_Height, xTitle_Width, xSecondTitle_Height, xSecondTitle_Width?
<tagezi> этже контейнеры, какой у них тип получается?
<mikekaganski> Не понял, зачем это передавать??? Это всё должно создаваться, использоваться и умирать во внутренней функции
<tagezi> то есть я буду создавать это второй раз?
<mikekaganski> ничего не понял. Они же тебе нужны только там, зачем их ещё где-то создавать?
<tagezi> они участвуют в проверке существования в условии выше
<mikekaganski> Погодь. Всё, что от строки 2099 до 2148, должно уйти в новую функцию, со всеми проверками
<tagezi> а как математику сделать?
<tagezi> математика в нутри иф
<mikekaganski> как она есть, так и сделай. Если у тебя вернутся нули, какая разница?
<JohnDoe_71Rus> где это виданно, где это слыхано.. папа решает, а вася сдает (с) :)
<tagezi> ну, в теории да, aRet возвращается в любом случае
<mikekaganski> Там же можно сделать по разному: можно возвращать булево значение об успехе, по которому проверять, нужна ли математика; а можно всегда делать математику, но проверять, что в когда надо возвращаются нули
<tagezi> я только не уверен, что нули будут иметь смысл
<mikekaganski> ?
<tagezi> так кудато далеко всё это проваливается, я не совсем понимаю почему математика делается только в том случае если есть pExplicitValueProvider
<mikekaganski> У тебя есть некий прямоугольник; в случае, если .тамошние условия выполняются, к нему что-то добавляется; в любом случае этот прямоугольник возвращается.
<mikekaganski> Теперь ты можешь сделать так: берёшь прямоугольник, получаешь значения инкремента, прибавляешь. А значения инкремента нулевые, если условия не выполнены. Что меняется?
<tagezi> а зачем тогда его засунули в иф?
<mikekaganski> ??? В существующей схеме это имеет смысл
<mikekaganski> ты же меняешь схему
<mikekaganski> упрощаешь
<tagezi> да, я же супер сишник :)
<mikekaganski> ну, тут нужно не столько си, сколько проанализировать алгоритс
<tagezi> ну, да.. я с тобой согласен
<tagezi> почти, хотя до моего понятия проанализировать алгоритм, это очень далеко
<tagezi> хотя да, он иницыализирован, так что по любому что-то вернётся
<tagezi> да
<mikekaganski> В данном случае ты "ухудшаешь" алгоритм в том смысле, что арифметика будет выполняться всегда, в т.ч. когда не нужна: дополнительные 6 целочисленных сложений
* tagezi супер сишник и анализатор алгоритмов, просто очень тормазнутый :)
<mikekaganski> это пренебрежимая величина. Ну, или всё же можно возвращать признак нужности арифметики
<JohnDoe_71Rus> процы к тому времени подтянутся. и тормозов от лишних сложений не будет заметно :)
<mikekaganski> да и сейчас не будет заметно. Это ерунда
<mikekaganski> важны оптимизации не здесь
<tagezi> да, я тебя понял
<tagezi> осознал и исправлюсь :)
* tagezi пошёл думать почему 6
<mikekaganski> я имею ввиду, 6 сложений в случаях, когда вроде они не нужны (условие не выполнено)
<tagezi> да
<tagezi> вот ещё вопрос, а как правильно вернуть? у меня 4 целочисленных значения
<tagezi> как массив?
<mikekaganski> через параметры-ссылки bool foo(sal_Int32& param1, sal_Int32& param2, ...)
* tagezi любит знать как проверить то что он натворил, имеено по этому
<tagezi> никогда так не делал, но я думаю я разберусь
<JohnDoe_71Rus> потом надо 4 часа собирать ЛО что бы убедится что ничего не сломал?
<tagezi> не, думаю за час собирётся.. этоже только один модусь
<tagezi> л*
<mikekaganski> :)) Если ты не делал pull - соберётся за минуту. Ну, а пулл - это лотерея
<mikekaganski> У нас за день набегает столько, что обычно я вечером пуллю, чтобы за ночь успеть
<mikekaganski> tagezi: а можешь передавать в функцию прямоугольник и булево значение "отнять", и тогда уже всё вынести в эту отдельную функцию, а в исходных функциях оставить одну строчку
<tagezi> ну я тебе это с самого начала говорил
<tagezi> я не уверен что это хорошо
<mikekaganski> ну да
<mikekaganski> вполне хорошо
<tagezi> эм
<tagezi> а я уже почти разобрался как вернуть значение :)
<mikekaganski> я просто размышляю. Можешь делать по всякому
<tagezi> нет, нужно зделать одним способом, а то я потом сам не разберусь :)
<tagezi> так, ты меня запутал
<kompi> это как стили таблиц райтера, оно вроде работает, но так запутанно....
<JohnDoe_71Rus> надо сделать 2 способами. недельку каждый погонять тестами. плюнуть на все и реализовать третьим
<tagezi> mikekaganski: обясни мне тогда, почему нельзя сделать одной функцией? зачем параметры пересылать так много раз?
<tagezi> первая и последняя
<tagezi> я сразу предлагал заменить на одну функцию.. и можно например пересылать параметр Substract как bool, чтобы определиться с вычитанием
<tagezi> и пропал :)
JohnDoe_71Rus has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org]
<mikekaganski> А эти функции больше нигде не используются?
<tagezi> нет, пока нигде
<tagezi> я же тебе присылал греп
<mikekaganski> Я его внимательно смотрел ? :))
<kompi> ты его смотрел?
<tagezi> так, буду тебе сюда копиппстить, что бы потом не было "а я его видел?" :)
<mikekaganski> не надо, я и здесь не смотрел :) извиняюсь
<tagezi> вот и верь после этого людям :)
<mikekaganski> тогда можно и вправду изменить класс, и сделать общую функцию
<tagezi> там две функции, которые используют каждая только одну функцию
<tagezi> вот...
<mikekaganski> Типа AddSubstractAxisTitleSizes(..., bool bSubtract)
<tagezi> нужно менять класс.. тогда я сейчас сделаю, а потом задам тебе очень фолнующий меня вопрос :)))
<tagezi> да
<tagezi> я уже 3 раз переписываю..
<tagezi> Миша - казявка :)
<mikekaganski> Повторение - мать ... этого самого...
* tagezi итак умеет с-с с-м :)
<tagezi> mikekaganski: как это обозвать?
<kompi> матом
<mikekaganski> tagezi: tdf#... <номер того бага про удаление копипаста>: deduplicate code in ExplicitValueProvider
<tagezi> mikekaganski: пояснения нужны?
<mikekaganski> Нет, кмк
<mikekaganski> если в названии и в коммите всё прозрачно - это лишнее
<mikekaganski> addSubstractAxisTitleSizes -> AddSubstractAxisTitleSizes - потому что и Add, и Subtract равнозначны (а то выглядит как "Добавить вычитание")
<tagezi> хорошо
<tagezi> а то что я посылаю труе и фалс прямо так, нормально?
<mikekaganski> погодь, ещё: правильно subtract, а не subStract
<mikekaganski> там кто-то ошибся
<mikekaganski> а как ещё передавать буль?
<tagezi> эм.. не понял по поводу subStract
<mikekaganski> не должно быть там буквы s
<mikekaganski> Хороший коммит: убивает 63 строки кода. Одобрямс!
<kompi> 63 из 10кк?
<mikekaganski> да, курочка по зёрнышку...
<mikekaganski> ничего, такими коммитами мы воспитываем кодера, который потом добавит 100500 новых!
<kompi> через 160000 коммитов код скатится к 0 строк
<tagezi> да, иы ещё увидим кто ыстрее печатает.. колон или я :))
<mikekaganski> Я как-то читал детскую книжку, в которой пацан всё усовершенствовал приёмник, убирая лишние детали, и хотел добиться, чтобы работал пустой корпус...
<tagezi> он же может и не успеть создавать новые строки, пока я удаляю те что есть :)
<mikekaganski> :)
<tagezi> так, всё сломал :(
<mikekaganski> Прекрасно. Как проверится - закину
<mikekaganski> kompi: видишь, а ты говоришь муторно. Нормальный изихак. Так, помаленьку, и код чистится, и люди тренируются
<tagezi> mikekaganski: первые два можно отменить
<mikekaganski> ок, вижу
<kompi> код не может чиститься бесконечно
<kompi> вона Виталий сначало материлсо, а потом проникся
<kompi> VitaliyAnderson: как жизнь?!
<tagezi> с++ может
<tagezi> и причем именно бесконечно
<tagezi> всегда можно что-то улучшить, аптимизировать, сделать более читабельным
<tagezi> а в опенсорс проекте, это вообще поле не паханое
<kompi> я ж говорил, что замочек
<kompi> mikekaganski: когда бета?
<VitaliyAnderson> Вечера!
<VitaliyAnderson> kompi: ждем НГ
<kompi> VitaliyAnderson: зачем?!
<mikekaganski> kompi: на неделе, если ничего не случится
<mikekaganski> это значит, в последний момент (все хотят чего-нибудь успеть впихнуть)
<tagezi> блин, реально дофига скопипасчиного кода
<mikekaganski> это нормально :)
<mikekaganski> и полезно от него избавляться
<tagezi> он в разных файлах..
<tagezi> иногда это просто кусов функции на 60 строк
<tagezi> кусок
<tagezi> можно конечно попробовать его вынести в отдельный класс, и в конструкторе класса реализовать эту функцию, но такими путями это вырастить в 100500 файлов
<tagezi> приколько, код был скопипасчен 2 раза
<tagezi> во втором случае немного меньше, но скопипасчен :)
JohnDoe_71Rus has joined #libreoffice-ru
<tagezi> больше всего буюлей, кстати, в бридже и всл
<tagezi> там, куда мне просто тупо страшно лезть пока
<tagezi> mikekaganski: тык :)
<mikekaganski> ?
<tagezi> что ты имел ввиду под bool foo(sal_Int32& param1, sal_Int32& param2, ...)
<tagezi> ?
<tagezi> функция возвращает бул, апараметры от неё доступны по ссылке?
<mikekaganski> ага
<mikekaganski> ты в неё передаёшь переменные, функция их присваивает, ты потом их пользуешь в вызывающей функции
<tagezi> не понимаю
<tagezi> есть пример этого?
<mikekaganski> void foo(int& i) { i = 256; } void bar() {int nInt; foo(nInt); printf("%d", nInt); }
<tagezi> то есть, bool foo(int&) {i = 256; return true} void bar() {int nInt; if(foo(nInt)) printf("%d", nInt);}
<tagezi> возвращается bool,но значение инициализировано и доступно?
<tagezi> но это при том, если я принимаю значения по ссылке, а у меня принимались одни, а возвращались другие
<tagezi> у меня разные переменные там
kompi has quit [Quit: Page closed]
<mikekaganski> не понял
<mikekaganski> Ты мог бы сделать что-то вроде bool foo(const class& ref1, const Reference ref2, int& int1, int& int2, int& int3, int& int4)
<tagezi> это хорошо когда пара параметров, а 7, это уже как-то странно, но я понял идею
<mikekaganski> 7 - это ещё немного :)
kompi has joined #libreoffice-ru
<kompi> видели видели?
<kompi> мультипоточность для Калька завезли
<kompi> спасибо АМД за это :D
<JohnDoe_71Rus> они патч выкатили или только на амд работает?
<kompi> они закатили в мастер кучу патчей
<kompi> будущая замена OpenCL
<kompi> выигрыш заметен на огромном количестве однородных формул
<kompi> как оно будет на вычислении длиннющей формулы в одной ячейке я хз, но вряд ли тут что-то сдвинется
<mikekaganski> хотел бы я видеть одну длинющую формулу, которая заметно нагрузит программу
<mikekaganski> вот здесь реально много может быть регрессий
<kompi> хотел бы я это видеть при пересчете моей рабочей убогой таблицы
<kompi> тупо для проверки
<kompi> оно в Calc грузится то с трудом...
<kompi> mikekaganski: это же попадет в Бету?
<kompi> mikekaganski: а на скорость загрузки и парсинга файла это будет влиять?
<mikekaganski> на загрузку не повлияет. Загрузку ускоряли раньше
<kompi> жаль
<kompi> я бы не отказался от быстрой загрузки 5-10 мегабайтных XLSX файлов
<kompi> mikekaganski: у тебя вечер?
<tagezi> mikekaganski: ребэйс делать в этом случае?
<kompi> mikekaganski: ты делай смену ника, когда тебя нет =) на типа mikekaganski|evening
<tagezi> зачем?
<tagezi> и так понятно что он с семъей.. придет ответит
<mikekaganski> ага :)
<mikekaganski> сделай ребейс
<tagezi> пульнёшь завтра значит :)
<kompi> чтобы нас пристыдить и чтобы мы заткнулись
<kompi> tagezi: ты юзаешь скриншотилку в Линукс? Какую?
<tagezi> Prt Sc
<tagezi> :)
<tagezi> у меня кеды, тут какая-то встроеная, я особо не парюсь по этому поводу.
<tagezi> меня больше интерисуют программы более низкого уровня
kompi has quit [Quit: Page closed]
<tagezi> mikekaganski: вопрос есть, я тут думаю насчет этих трех повторений кода в файле
<tagezi> там явно нужно выносить куски как функции
<tagezi> но у меня вопрос есть, если функцию выносить в безымянный найм спейс, её нужно добавлять в hxx?
<tagezi> или достаточно просто раньше всех использований указать?
<mikekaganski> просто раньше всех укажи
<mikekaganski> чем меньше в hxx, тем лучше
<mikekaganski> kompi: "чтобы нас пристыдить и чтобы мы заткнулись" - это о чём?
<tagezi> не знаю
<tagezi> а то что в ней будут использоваться члены класса, это ничего?
<tagezi> mikekaganski: а почему в hxx нужно по минимуму лазить?
<mikekaganski> tagezi: если там нужны члены класса, может понадобиться добавлять эту функцию в класс - и тогда да, нужно менять заголовок
<tagezi> а на последний вопрос ответ? :)
<mikekaganski> Заголовки нужны чаще всего для того, чтобы предоставить клиентам интерфейс взаимодействия с классами или функциями. Ничего лишнего там быть не должно. А деталь реализации - это лишнее, что клиентам не нужно знать.
<mikekaganski> ух ты, не дописался до телевизоров :)
<mikekaganski> Если мы детали реализации прячем, то потом проще их менять, не затрагивая внешние модули
<tagezi> так, стоп, причем тут клиенты?
<mikekaganski> Клиент класса - это другой класс, или любой код, который использует наш класс
<tagezi> если я делаю в hxx приват член, то он для клиента никакой интерес не преставляет
<mikekaganski> да, но к сожалению, всё равно им виден
<tagezi> но использовать они его не могут
<mikekaganski> и при изменении его все файлы, которые включают твой заголовок, будут перекомпилированы
<mikekaganski> поэтому если только можно, детали реализации стоит прятать так, чтобы следа их не было в заголовках
<mikekaganski> конечно, *по возможности*
<mikekaganski> если функции нужен доступ к членам класса, тогда ничего не сделаешь
<mikekaganski> пуляй её в private
<tagezi> понятно
<tagezi> блин, свойства больших проектов
<mikekaganski> :)
<tagezi> ну, теперь я знаю.. потому что я никогда не задумывался об этом
<mikekaganski> на самом деле за последние пару лет у нас настолько поменялось отношение к большим перекомпиляциям, что ой-ёй-ёй.
<tagezi> когда есть смысл добавить в заголовок переменные или функции я их всегда добавлял
<mikekaganski> Раньше каждое изменение, которое приводило к правкам в широко видимых заголовках, сопровождалось воплями
<mikekaganski> сейчас чуть ни каждый день это происходит, и все к этому спокойно относятся
<tagezi> насамом деле, сейчас оно перекомпилируется каждый раз как обновился.. и всегда почти полностью
<tagezi> потому на ночь и ставим :)
<mikekaganski> но всё же, если есть возможность, лучше заголовки делать минимально изменяемыми, то есть убирать оттуда всё, что можно
<mikekaganski> :))
JohnDoe_71Rus has quit [Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/]
<tagezi> mikekaganski: а можно делать маленькими патчами? А то я теряться начинаю в больших? :)
<mikekaganski> нужно смотреть
<tagezi> да просто логично выносить маленькими функциями, а их много образуется
<tagezi> писец какой-то а не файл, такое ощущение что один сплошной какпипаст и ничего более
<tagezi> глянеш его, когда сможешь
<tagezi> там с файлом ещё работать нужно, но думаю там полно такого, так что это будет долго