Разработка и тестирование ("острый инструмент")
Лучшая IDE - Unix, лучший Unix - OpenBSD https://sanctum.geek.nz/arabesque/series/unix-as-ide/
Каждая утилита делает строго одну функцию и делает её хорошо. Я пользуюсь в разной степени всеми утилитами из стандарта POSIX. В целях тестирования чаще всего запускаю: curl когда нужно руками проверить web приложение или REST интерфейс, entr, testres, vim. Оболочка ksh с плагинами для автодополнения.
Here’s a footnote 1.
Если требуется работа с с Windows: WinRM, Chocolate, WinSCP. - сборка: CMake - git (в том числе специфичные для тестирования https://github.com/mhagger/git-test, git bisect, git notes, testres), иногда fossil для небольших проектов, редко rcs для конфигов - https://github.com/google/netboot/tree/master/pixiecore, потому что сильно проще в использовании чем dnsmasq - санитайзеры: ASAN, UBSan, TSan - фаззинг: afl++, libfuzzer - мутационное тестирование: mull - фунциональное тестирование: CMocka, CFFI + pytest + Hypothesis, FFI + busted + lua-Quickcheck - тестирование производительности: Google Benchmark - минимизация тесткейса halfempty и др. - рефакторинг: coccigrep, coccinelle, cscope, ctags + vim и несколько плагинов для него - легковесные формальные методы верификации: z3, spin + modex, TLA+, cbmc, cpachecker - документация: gprof2dot, doxygen, lowdown, mandoc - статические анализаторы и линтеры: shellcheck, mandoc, clang-analyzer, semgrep etc - для работы с логами: logreduce crm114 anomaly - инструментирование с LD_PRELOAD - ansible playbooks
-
Footnote text goes here. ↩