![]() Я тут увидела самое наглядное различие между кодом, который писали программисты, и кодом, который писали биологи, которое только может быть. Это просто гениально, просто гениально.
Биоинформатический тул выдает фрейм: список генов и некоторое значение для каждого из этих генов. Как будет оформлен вывод у программиста?.. Ну да, простая табличка через пандас, разделитель какой-нибудь таб, всё понятно. Как он оформлен тут? После каждого гена идет различное количество пробелов, такое, чтобы если открыть файл в блокноте, значения, соответствующие этим генам, выстраивались в одну колонку. Я рыдала и билась об стол больше минуты. PS. А еще тул очень мееееедлеееенннныый, и считается долго-долго. А когда досчитается - в нем захардкожено сохранять посчитанный файл по пути ./Outputs/*.txt Разумеется, он сам не создаст нужную папку Outputs, которой нет в клоне с гита. Разумеется, не найдя её, он упадет, ничего не сохранит, и его надо будет запускать еще раз. #реал #этопздц #боль 28 февраля 2019
7 |
![]() |
|
Покажите, плиз :)
|
![]() |
Lost-in-TARDIS Онлайн
|
Киттикэт
https://github.com/Singh-Lab/nCOP Пжлст, запускать на свой страх и риск. Самое смешное, что при всем этом алгоритм у тула вполне себе хороший и результаты он тоже выдает осмысленные и хорошие. (поэтому мне надо будет как-нибудь переписать его с руби на питон и заоптимизировать) 2 |
![]() |
|
Lost-in-TARDIS
осталось найти свободное время, которое как мифический Грааль? 1 |
![]() |
Lost-in-TARDIS Онлайн
|
Vallle
Ну не, это рабочая задача, просто она не самая приоритетная. |
![]() |
|
Если я правильно понял проблему, то написать скрипт, переформатирующий текстовой файл - задача простейшая.
|
![]() |
Lost-in-TARDIS Онлайн
|
П_Пашкевич
Проблемы нет, переформатировать никогда проблемой не было. Тут просто риторический вопрос, ну как, как можно было такой формат вывода вообще придумать. |
![]() |
ДНИЩE--ЫЫЫЫ
|
> .DS_Store
|
![]() |
|
Lost-in-TARDIS
мы кодили как могли (с) |
![]() |
Ластро
|
Первое, с чего бы я начил рефакторинг этой партянки, это разбил исходник на части. Просто, чтобы осмыслить то, что там написано. Впрочем, предположу что знания биологии сильно облегчают процесс осмысления данного кода.
|
![]() |
Lost-in-TARDIS Онлайн
|
Facensearo
Кажется, я слишком молода для такого дерьма. |
![]() |
Lost-in-TARDIS Онлайн
|
Facensearo
>>>конечно, он восходит к матричным принтерам и моноширинному консольному выводу Это когда я под стол ходила или когда меня еще в планах не было? >>>Я раби не знаю нихуя, но воткнуть Dir.mkdir("#{$OUT_DIR}") перед fo - .. должно помочь от несоздавания папки, а заменить "#{e.ljust(10)} на просто "#{e}t - от говноедства с выравниванием Очень вероятно (я просто тоже руби не знаю нихуя). Энивей, всё равно переписывать. |
![]() |
Ластро
|
Facensearo, у меня пунктик, я стараюсь декомпозировать на максимальное число частей. Код одним куском у меня вызывает нервный тик. Я хочу видеть структуру, которую могу обозреть одним взглядом.
То есть это либо должна быть структура файлов. Либо код реально должен помещаться на один экран. |
![]() |
Ластро
|
Вот эти utils, для начала и выкинуть в отдельный файл. Чтобы они не загораживали основной алгоритм. |
![]() |
Ластро
|
> "один файл - один класс
Шутки шутками, а отход от этого принципа, для того же qt может приводить к проблемам линковки. И ошибка выдваемая компилятором нифига не очевидна. |
![]() |
Ластро
|
>Ну давай еще удивительную линковку С++ вспомним
Это она и есть >А зачем? Для пуризма? Для читаемости. Поверишь или нет, но я в этом отношении не самый запущенный случай. Вон Боб Мартин в своём «Чистом коде» советует следующее о длине функций: Первое правило: функции должны быть компактными. Второе правило: функции должны быть еще компактнее. … Из сказанного выше следует, что блоки в командах if, else, while и т.д. должны состоять из одной строки, в которой обычно содержится вызов функции. Это не только делает вмещающую функцию более компактной, но и способствует документированию кода, поскольку вызываемой в блоке функции можно присвоить удобное содержательное имя. А ещё предлагает использовать функции, одного, ну максимум двух аргументов.Про длину файлов у него тоже было. В общем предлагаю свернуть тему. Ибо холиварная а все останутся при своём. |