?

Log in

No account? Create an account
лучший код - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

лучший код [сент. 22, 2018|12:21 am]
Anatoly Vorobey
[Tags|]

Hacker News: У какого проекта с открытым кодом, по вашему мнению, самое высокое качество кода?

Конечно, вопрос немного странный - это как спросить: "какой вы видели в жизни наилучшего качества стол?" Так много разных ответов можно представить, понимая по-разному слово "качество", плюс назначение стола и польза от него часто куда важнее его качества, как бы его ни понимать... Но, с другой стороны, такие дискуссии мне всегда любопытно читать просто чтобы видеть примеры, которые люди приводят, и что они пишут о них.

Какие-то проекты почти всегда всплывают, когда речь заходит о качестве кода: SQLite... OpenBSD... проекты авторства djb... Но в этом обсуждении я увидел много новых и/или неожиданных для себя названий. А в отдельных случаях, наоборот, вздрогнул от ужаса (LLVM? Linux kernel?? JQuery???). В общем, немало интересного, и сделал пару закладок на будущее.
СсылкаОтветить

Comments:
[User Picture]From: dmarck
2018-09-21 09:53 pm
да-да, особенно в связи с нынешним около-хайпом вокруг CoC (смайлов по вкусу)
(Ответить) (Thread)
[User Picture]From: migmit.dreamwidth.org
2018-09-21 10:15 pm
Интересно, это люди, которые часть этого кода писали, или это те, кому совсем делать нечего, и они этот код изучают всухую?
(Ответить) (Thread)
[User Picture]From: avnik
2018-09-21 10:50 pm
NetBSD кстати (впрочем там упомянуто ;))
(Ответить) (Thread)
[User Picture]From: vissarion
2018-09-21 11:27 pm
Меньше всего багов в тех продуктах которые предлагают деньги за каждый найденный баг.

В лидерах - TeX конечно
(Ответить) (Thread)
[User Picture]From: lightjedi
2018-09-22 09:17 am
TeX как сам софт совершенно ужасен и устарел еще 30 лет назад. Им никто не пользуется сейчас as is.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dimrub
2018-09-22 12:56 am
Меня в свое время очень впечатлили куски кода Plan9, которые мне пришлось читать и модифицировать.
(Ответить) (Thread)
[User Picture]From: avva
2018-09-22 07:37 am
А по какому поводу ты с ним работал?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: deadkittten
2018-09-22 06:46 am
Ну, если смотреть на код llvm после gcc, так там вообще идеальное качество. :)
(Ответить) (Thread)
[User Picture]From: avva
2018-09-22 07:37 am
Это да.
(Ответить) (Parent) (Thread)
From: vfork
2018-09-22 06:53 am
Голосую за Qt. Ну может не за теперешний а за Qt по состоянию на 3-5 лет назад, до начала большого бардака.
(Ответить) (Thread)
[User Picture]From: pupsikk
2018-09-22 07:54 am
Не знаю, что здесь означает термин "качество", просто приведу свой рейтинг хорошего софта - приносящего огромную пользу, удобного в использовании и надежного:

ZeroMQ - great
RabbitMQ - great
OpenCV great
Protobuf great
Erlang great
SQLite great
Wireshark great
(Ответить) (Thread)
[User Picture]From: omnibee
2018-09-22 01:42 pm
Writeshark?? Вроде даже сами авторы говорят, что его надо запускать в VM, разнообразных дыр в безопасности, которые можно задействовать с помощью сетевого пакета, великое множество.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: a_rakovskij
2018-09-22 10:37 am
Otrs
И это при всей моей нелюбви к выбранному языку проекта - perl
(Ответить) (Thread)
[User Picture]From: gul_kiev
2018-09-22 01:25 pm
Да ладно, перл плох разве что тем, что он разрешает писать плохой код.
Но никто не мешает писать на перле хороший, читаемый и структурированный код, это ничуть не сложнее, чем на других языках этой ниши (python, php и т.п.).
Лично я не считаю, что меньше ограничений и больше свободы - это плохо, поэтому мне кажется, что перлу просто не повезло с имиджем, и ругают его в основном те, кто перл не знает, на основании случайно увиденных кусков плохого перлового кода.
Разве что, от сигилов немного рябит в глазах, но это дело привычки.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: occuserpens
2018-09-22 03:08 pm
Те, кто еще не в куpсе, что такое качественный код, могут почитать здесь: https://postmeritocracy.org/

Edited at 2018-09-22 16:49 (UTC)
(Ответить) (Thread)
From: vfork
2018-09-23 04:45 am
Если качество это когда читаешь и получаешь эстетическое наслаждение, то Qt и практичеси все проекты suckless.org

А если качество это когда мало багов, тут не знаю, тут уже надо какие-то метрики поднимать, статистику получать и т.д.

А если качество это полезность, то тут безусловно Linux kernel и mozilla
(Ответить) (Thread)
[User Picture]From: janatem
2018-09-23 03:11 pm
> А в отдельных случаях, наоборот, вздрогнул от ужаса [...] Linux kernel??

А что такого в ядре? Я сейчас там много ковыряюсь, и впечатление такое, что сам код довольно аккуратен и продуман, а также жестко зарегулирован (впрочем, мне, например, не нравится запрет набрасывать на стек из любого места, а не специально отведенного, так, по моему мнение, можно бесплатно повысить понятность кода).

Основная проблема, с которой я столкнулся, — это сложности с выяснением того, как называется та или иная функциональность. Иногда мне не помогает ни гугл, ни elixir, и единственной возможностью оказывается задать вопрос хуманам в специализированном чате. Но это проблема не кода как такового, а, скорее, языка или организационных вопросов документирования.
(Ответить) (Thread)