- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
func getTransport(tt string) (iTransport, error) {
if tt == "scooter" {
return newElectricScooter(), nil
}
if tt == "quadcopter" {
return newQuadcopter(), nil
}
return nil, fmt.Errorf("Wrong type")
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
func getTransport(tt string) (iTransport, error) {
if tt == "scooter" {
return newElectricScooter(), nil
}
if tt == "quadcopter" {
return newQuadcopter(), nil
}
return nil, fmt.Errorf("Wrong type")
}
https://habr.com/ru/post/556512/
> Factory Method Pattern
> Привет, друзья. С вами Alex Versus.
> Ранее мы говорили про шаблоны проектирования Одиночка и Стратегия, про тонкости реализации на языке Golang.
> Сегодня расскажу про Фабричный метод.
Вот про «Golang» статья есть, про «Java» тоже есть, а про фабричный метод на «С++» статьи нет... Видимо, так я и не узнаю как же такое написать на крестах. У вас есть знакомые редакторы или авторы на Хабре, которые знают «С++»? Можете попросить их написать такую статью?
https://www.udemy.com/user/sergei-1146/
>Professional full-stack developer of IT and web products. I develop in PHP,
а, ну как я и подумал
---------------
https://habr.com/ru/post/553298/
Он еще учит писать крутые тесты
>static typing
в языке без генериков
>and run-time efficiency (like C)
в языке с GC
>readability and usability (like Python or JavaScript),
ридабили как в JS это такой тонкий троллинг
Пиздеть вообще очень важно когда ты пишешь на хуевом языке.
Например, во второй ссылке можно встретить такой диалог:
--А в Go еще не завезли нормальных контейнеров зависимостей?
--Контейнеры в го особо и не нужны
кликаем на автора второго комментария, и узнаем, что он написал статью
"Методы организации DI и жизненного цикла приложения в GO"
--А что, круглого колеса у вас не изоберли?
--Круглое колесо не особо нужно, обычно хватает квадратного (пишет статью "как скруглить квадратное колесо")
Фу
Python в проектах крупнее пары сотен строчек — тоже, в общем-то, далеко ня образец читаемости.
https://backbonejs.org/#Model-extend
впрочем, в 2021 уже так не надо делать
> в языке без генериков
Где противоречие?
Статическая типизация весьма больна без полиморфизма, но у гугла есть 10k или сколько там инженеров, можно одного посадить писать имплементацию алгоритма для строк, другого — для интов, третьего — для флотов, и т.д. GAGNI (Google Ain't Gonna Need It)
https://habr.com/ru/company/vivid_money/blog/531822/#comment_22399930
Какой чудесный эвфемизм для мартышкиного труда.
-- Зачем ты в каждом проекте с ноля делаешь то, для чего уже 20 лет существует библиотека?
-- Я предпочитаю всё делать явно уменьшая сложность кода.
Философия PHP
все знают, что джава и джаваскрипт это одно и тоже
Кто в зрелом возрасте и полюбил свободные функции у того нет мозга
но если без шуток, то ООП в джаве и сишрап конечно на голову лучше чем ооп в пхп и таком вот го
Это не потому, что ооп это хорошо
Это потому, что ооп лучше говна.
Вот гуй это хорошо? А DI хорошо? А JSON?
А что?
то есть ты бы хотел, чтобы у компилятора вместо command line api был бы гуй?
>А JSON это тоже хорошо
хотел бы ты данные между гарнтитурой и usb контроллером передавать jsonом?
Если оно будет написано с использованием ООП, то сойдёт и так и этак.
Но вообще-то я не говорил, что command line API – это плохо, это вообще-то тоже хорошо.
> хотел бы ты данные между гарнтитурой и usb контроллером передавать jsonом?
А что там читать? Байты какие-нибудь? Читать байты не нужно, значит не хотел бы.
> nil, error
> result, nil
Either или variant тоже оказались нинужными?
а тут , как я поня, нихуя не проверяют, а тупо возвращают два значения?
Скорее всего дальше будут смотреть, где nil и решать исходя из того. Вангую, что на nil будут проверять значение, а не ошибку, и когда-нибудь это эпично навернётся, когда окажется, что nil — валидное значение.
https://govnokod.ru/27411#comment626567
В туториалах вроде именно ошибку проверяют. Но гарантий нет, конечно.
Нят, монада за тебя это сделает.
охуеть прогресс
вот пример из туторила
https://golang.org/doc/tutorial/handle-errors
что будет, если пустая строка это валидный вариант, и вызывающая сторона забудет проверить error?
(про отсутствтие строковой интерполяции гыгыкать не буду)
А ты не забывай! Деды на сишке вон сколько лет писали и не забывали.
языки проходят все стадии развития, как и эмбрионы
сначала они сделали без генериков
потом завезут генерики
потом завезут мэйби
потом сделают новый язык, опять без генериков и мэйби