Pull to refresh

Comments 11

Немножко побрюзжу. Посмотрел код 1-го проекта, в частности этот файл.


  1. В одном файле не 6к строк смешалось всё: IO, парсинг, генерация отчета, структуры данных, алгоритмы (разные) — неужели ни разу не возникло желания разбить это по отдельным файлам?


  2. Такое ощущение, что код даже не думали особо оптимизировать под производительность. Например много циклов, где на каждой итерации создаётся новый ArrayList (а ведь можно было бы переиспользовать); коллекции из примитивов (ArrayList, Set); сами цепочки хранятся просто как String (хотя это, вероятно, вынужденно, так как поиск реализован через регекспы, а не через специализированные алгоритмы).

О, госсподи, давно я такого не видел к своему счастью. Так это типичный юниорский код. Code Review не проводится. При наборе спрашивают типичные вопросы, одинаковые и для юниоров и для сеньеров, единственное отличие что сеньер не имеет право "неправильно" отвечать. При собеседованиях умение нормально делать декомпозиции задач на подзадачи крайне редко кто проверяет. Отсюда и код, подобного которому я к счастью очень давно не видел :). Но у этого кода есть один плюс. Для его поддержки требуется больше народа. Если больше народа, больше денег получится выдоить с заказчика и следовательно больше прибыль получит контора. И потом можно будет еще раз контрактик взять на переписывание такой лапши, якобы ради миграции на какую новую модную технологию.

Это интересная мысль, но индустрия на данном этапе работае по-другому.
То взрывообразное развитие которое последние 5 лет происходит не распологает к тому, что бы заниматься долгой поддержкой давно написанных инструментов.

Даже без поддержки. Если писать в спагетти стиле — количество багов будет такое, что релиз будет лет через 10. И количество тестировщиков должно быть неимоверное. Хотя, возможно я конкретно к этому проекту несправедлив. В другом проекте навскидку все вполне нормально выглядит, естественно я не вникал, но навскидку ничего криминального, за сердце не хватаешься. А этот проект просто тупо переписывали как есть с одного языка на другой. Основной критерий — чтоб оно скомпилировалось и заработало также, как и ранее. Заработало хоть как то, отдали и забили :).

Спасибо! Затягивает)

image

Как раз недавно читал книгу о квантовой биологии. И в одной из глав описывалась теория возникновения жизни, как вообще появилась ДНК, а до нее РНК а до нее еще более примитивные химические структуры саморепликаторы.

Извиняюсь за оффтоп, но название книги не подскажите?
Жизнь на грани (на русском, издательство Питер)
Есть подозрение, что через какое-то время (ну 5-10 лет) биология, медицина, генетика, нейрохирургия и другие подобные науки будут следующим хитом после программистов и инженеров. Вроде бы для этого уже сейчас есть все предпосылки: почти вся инфа есть в интернете и любой желающий её может почитать — для этого не нужно в мединституте учиться.

Имеет смысл уже сейчас начать изучать это дело, благо это плюс в себе в копилку на фоне грядущих БОД, более повальной роботизации-автоматизации и подобных социальных потрясений, после которых ещё неизвестно как всё сложится в итоге. Говорят, кто будет владеть роботами — тот выиграет больше всех. Однако знания, по идее, тоже должны давать выигрыш хотя бы в виде преимущества над всеми остальными, которых жизнь выбросит за борт.

P.S. Вспомнилось ещё, как я в технологическом универе на первой лекции по Микроконтроллерам сказал один из вариантов подобной техники: «электронная память для человека, вся необходимая инфа туда складывается и не надо тратить минимум 4 года в универе». Профессор хмыкнул и добавил вариант в список =)))
Спасибо за статью, интересно. Здорово, что и на постоветском пространстве в коммерчиских компаниях занимаются подобными вещами. А не только финансовым софтом, играми и т.п.
Интересно, а HL7 Genomics в EPAM как-то используется?
Sign up to leave a comment.