tg-me.com/golang_for_two/45
Last Update:
Note #21 Contributing to the os Package 💬
Недавно начал смотреть доклады c GopherCon 2019. Понравился доклад от молодого и перспективного разработчика из Лондона Оливера Стэнбома,
который полностью соответсвует моим критериям идеального доклада:
- реальная история из жизни о найденном баге;
- сложные будни и куча emailов на тему как же пофиксить этот баг на всех ОС;
- завести PR получить заветные +2 (перед этим подумать зачем я вообще брался за этот баг)
- вуаля баг пофикшен и попал в релиз go1.12 🎉🎉🎉
Сам баг довольно простой:
func main() {
tmpDir, err := ioutil.TempDir("", "")
if err != nil {
panic(err)
}
err = createVeryLongFilePath(tmpDir)
if err != nil {
panic(err)
}
err = os.RemoveAll(tmpDir)
if err != nil {
panic(err)
}
}
os: RemoveAll fails for long file paths
Оригинальный фикс в проекте у Оливера занимает 1 экран, но финальный фикс в Go для unix и solaris поместился в +774 -229 добавленных и удаленных строк кода соответсвенно!
P.S.
ссылка на доклад -> https://www.youtube.com/watch?v=cQgpNkKi9aA
🍺
BY 🇺🇦 Go for two :)
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/golang_for_two/45