Go - убийца Java?

Go - убийца Java?

6.955 Lượt nghe
Go - убийца Java?
Подписывайтесь на канал и на ссылке ниже, там обсуждают правду: - Telegram Channel: https://t.me/kydavoiti - Telegram Chat: https://t.me/kydavoitichat - VK: https://vk.com/kydavoiti - GitHub: https://github.com/IlyasYOY ### Ссылки - [Как пользоваться Optional! Обманываем Jacoco // Беги! Баги! - YouTube](https://www.youtube.com/watch?v=GrZ-SM1efWM) - idea format - [Format files from the command line | IntelliJ IDEA Documentation](https://www.jetbrains.com/help/idea/command-line-formatter.html) - go format - [go fmt your code - The Go Programming Language](https://go.dev/blog/gofmt) - [goimports command - golang.org/x/tools/cmd/goimports - Go Packages](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) - [mvdan/gofumpt: A stricter gofmt](https://github.com/mvdan/gofumpt) - [segmentio/golines: A golang formatter that fixes long lines](https://github.com/segmentio/golines) - java format - [diffplug/spotless: Keep your code spotless](https://github.com/diffplug/spotless) - [IntelliJ formatter by IlyasYOY · Pull Request #2020 · diffplug/spotless](https://github.com/diffplug/spotless/pull/2020) - [Безупречный код на примере Java! Самый красивый код! - YouTube](https://www.youtube.com/watch?v=cyrUVDBJZGQ) - go lint - [analysis package - golang.org/x/tools/go/analysis - Go Packages](https://pkg.go.dev/golang.org/x/tools/go/analysis) - [golangci/golangci-lint: Fast linters runner for Go](https://github.com/golangci/golangci-lint) - java lint - [spotbugs/spotbugs: SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.](https://github.com/spotbugs/spotbugs) - [findbugsproject/findbugs: The new home of the FindBugs project](https://github.com/findbugsproject/findbugs) - [checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.](https://github.com/checkstyle/checkstyle) - [pmd/pmd: An extensible multilanguage static code analyzer.](https://github.com/pmd/pmd) - go mod - [golang/dep: Go dependency management tool experiment (deprecated)](https://github.com/golang/dep) - [Go Modules Reference - The Go Programming Language](https://go.dev/ref/mod) - go test - [testing package - testing - Go Packages](https://pkg.go.dev/testing) - [stretchr/testify: A toolkit with common assertions and mocks that plays nicely with the standard library](https://github.com/stretchr/testify) - [onsi/ginkgo: A Modern Testing Framework for Go](https://github.com/onsi/ginkgo) - [onsi/gomega: Ginkgo's Preferred Matcher Library](https://github.com/onsi/gomega) - [Go Fuzzing - The Go Programming Language](https://go.dev/doc/security/fuzz/) - java test - [junit-team/junit5: ✅ The 5th major version of the programmer-friendly testing framework for Java and the JVM](https://github.com/junit-team/junit5) - [assertj/assertj: AssertJ is a library providing easy to use rich typed assertions](https://github.com/assertj/assertj) - [hamcrest/JavaHamcrest: Java (and original) version of Hamcrest](https://github.com/hamcrest/JavaHamcrest) - [jacoco/jacoco: :microscope: Java Code Coverage Library](https://github.com/jacoco/jacoco) - [Data Race Detector - The Go Programming Language](https://go.dev/doc/articles/race_detector) - [openjdk/jmh: https://openjdk.org/projects/code-tools/jmh](https://github.com/openjdk/jmh) - [Mocking Static Methods With Mockito | Baeldung](https://www.baeldung.com/mockito-mock-static-methods) - [astral-sh/ruff: An extremely fast Python linter and code formatter, written in Rust.](https://github.com/astral-sh/ruff) - [Go Proverbs](https://go-proverbs.github.io/) - [Новый синхронизатор Phaser / Хабр](https://habr.com/ru/articles/117185/) - [errgroup package - golang.org/x/sync/errgroup - Go Packages](https://pkg.go.dev/golang.org/x/sync/errgroup) - [dotfiles/config/nvim/lua/plugins/vim-dispatch.lua at 82eb984650aab2f02de7f3a588b15d6127f60d26 · IlyasYOY/dotfiles](https://github.com/IlyasYOY/dotfiles/blob/82eb984650aab2f02de7f3a588b15d6127f60d26/config/nvim/lua/plugins/vim-dispatch.lua) ### Главы 00:00 Начало 00:36 Скорость сборки 01:28 Кэширование из коробки 02:01 Писать просто 04:27 Инструменты 04:32 Не одна IDEA 06:39 Инструменты не используются 08:34 Можно писать даже без IDE 09:08 Форматирование 12:16 Поддержка линтеров 13:48 Работа с зависимостями 14:38 testing 16:58 test coverage 18:07 Пакеты изолированы 19:13 Детектор гонок 19:39 Fuzz-testing 20:11 benchmarks 21:04 Нельзя мокать все подряд 22:20 Инструменты на Go пишутся на Go 23:40 Подробнее про интерфейсы 25:53 Обработка ошибок 28:28 Concurrency 31:19 Принципы Go 33:54 Code Generation 35:30 Нет фреймворка 37:39 Выводы