- 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.
> Сегодня расскажу про Фабричный метод.
PolinaAksenova 10.05.2021 04:01 # +2
Desktop 07.06.2021 18:48 # +1
JloJle4Ka 10.05.2021 04:36 # 0
Вот про «Golang» статья есть, про «Java» тоже есть, а про фабричный метод на «С++» статьи нет... Видимо, так я и не узнаю как же такое написать на крестах. У вас есть знакомые редакторы или авторы на Хабре, которые знают «С++»? Можете попросить их написать такую статью?
guest6 10.05.2021 05:23 # +5
guest6 10.05.2021 05:19 # +2
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/
Он еще учит писать крутые тесты
JloJle4Ka 10.05.2021 05:44 # +1
booratihno 10.05.2021 05:51 # +3
>static typing
в языке без генериков
>and run-time efficiency (like C)
в языке с GC
>readability and usability (like Python or JavaScript),
ридабили как в JS это такой тонкий троллинг
Пиздеть вообще очень важно когда ты пишешь на хуевом языке.
Например, во второй ссылке можно встретить такой диалог:
--А в Go еще не завезли нормальных контейнеров зависимостей?
--Контейнеры в го особо и не нужны
кликаем на автора второго комментария, и узнаем, что он написал статью
"Методы организации DI и жизненного цикла приложения в GO"
--А что, круглого колеса у вас не изоберли?
--Круглое колесо не особо нужно, обычно хватает квадратного (пишет статью "как скруглить квадратное колесо")
Фу
PolinaAksenova 10.05.2021 15:30 # +1
Python в проектах крупнее пары сотен строчек — тоже, в общем-то, далеко ня образец читаемости.
guest6 10.05.2021 15:38 # +2
https://backbonejs.org/#Model-extend
впрочем, в 2021 уже так не надо делать
CHayT 10.05.2021 15:56 # +2
> в языке без генериков
Где противоречие?
Статическая типизация весьма больна без полиморфизма, но у гугла есть 10k или сколько там инженеров, можно одного посадить писать имплементацию алгоритма для строк, другого — для интов, третьего — для флотов, и т.д. GAGNI (Google Ain't Gonna Need It)
JloJle4Ka 10.05.2021 15:57 # +1
booratihno 10.05.2021 06:02 # +1
https://habr.com/ru/company/vivid_money/blog/531822/#comment_22399930
Какой чудесный эвфемизм для мартышкиного труда.
-- Зачем ты в каждом проекте с ноля делаешь то, для чего уже 20 лет существует библиотека?
-- Я предпочитаю всё делать явно уменьшая сложность кода.
Философия PHP
ASD_77 10.05.2021 13:02 # 0
JloJle4Ka 10.05.2021 14:14 # 0
bormand 10.05.2021 14:24 # +1
JloJle4Ka 10.05.2021 14:26 # 0
bootcamp_dropout 10.05.2021 14:19 # 0
booratihno 10.05.2021 14:34 # +2
все знают, что джава и джаваскрипт это одно и тоже
bormand 10.05.2021 15:40 # +1
booratihno 10.05.2021 15:41 # +1
bormand 10.05.2021 15:43 # +1
booratihno 10.05.2021 14:35 # +1
Кто в зрелом возрасте и полюбил свободные функции у того нет мозга
но если без шуток, то ООП в джаве и сишрап конечно на голову лучше чем ооп в пхп и таком вот го
Это не потому, что ооп это хорошо
Это потому, что ооп лучше говна.
JloJle4Ka 10.05.2021 14:44 # 0
booratihno 10.05.2021 14:49 # 0
Вот гуй это хорошо? А DI хорошо? А JSON?
JloJle4Ka 10.05.2021 15:13 # 0
А что?
booratihno 10.05.2021 15:21 # 0
то есть ты бы хотел, чтобы у компилятора вместо command line api был бы гуй?
>А JSON это тоже хорошо
хотел бы ты данные между гарнтитурой и usb контроллером передавать jsonом?
JloJle4Ka 10.05.2021 15:50 # 0
Если оно будет написано с использованием ООП, то сойдёт и так и этак.
Но вообще-то я не говорил, что command line API – это плохо, это вообще-то тоже хорошо.
> хотел бы ты данные между гарнтитурой и usb контроллером передавать jsonом?
А что там читать? Байты какие-нибудь? Читать байты не нужно, значит не хотел бы.
bormand 10.05.2021 15:51 # +1
> nil, error
> result, nil
Either или variant тоже оказались нинужными?
JloJle4Ka 10.05.2021 15:54 # 0
bormand 10.05.2021 15:55 # 0
JloJle4Ka 10.05.2021 15:59 # 0
Soul_re@ver 10.05.2021 16:01 # 0
CHayT 10.05.2021 16:03 # +3
Soul_re@ver 10.05.2021 16:26 # 0
booratihno 10.05.2021 16:29 # 0
а тут , как я поня, нихуя не проверяют, а тупо возвращают два значения?
Soul_re@ver 10.05.2021 16:31 # 0
Скорее всего дальше будут смотреть, где nil и решать исходя из того. Вангую, что на nil будут проверять значение, а не ошибку, и когда-нибудь это эпично навернётся, когда окажется, что nil — валидное значение.
booratihno 10.05.2021 16:32 # 0
https://govnokod.ru/27411#comment626567
bormand 10.05.2021 17:04 # 0
В туториалах вроде именно ошибку проверяют. Но гарантий нет, конечно.
CHayT 10.05.2021 16:46 # +2
Нят, монада за тебя это сделает.
booratihno 10.05.2021 17:06 # +2
охуеть прогресс
CHayT 10.05.2021 17:07 # +1
booratihno 10.05.2021 17:12 # +2
bormand 10.05.2021 17:16 # +2
MAKAKA 10.05.2021 22:11 # +2
bormand 10.05.2021 17:01 # +2
booratihno 10.05.2021 15:59 # +2
вот пример из туторила
https://golang.org/doc/tutorial/handle-errors
что будет, если пустая строка это валидный вариант, и вызывающая сторона забудет проверить error?
(про отсутствтие строковой интерполяции гыгыкать не буду)
bormand 10.05.2021 16:03 # +3
А ты не забывай! Деды на сишке вон сколько лет писали и не забывали.
booratihno 10.05.2021 16:06 # +3
языки проходят все стадии развития, как и эмбрионы
сначала они сделали без генериков
потом завезут генерики
потом завезут мэйби
потом сделают новый язык, опять без генериков и мэйби