Решение на Game of Life от Михаил Здравков
Към профила на Михаил Здравков
Резултати
- 10 точки от тестове
- 0 бонус точки
- 10 точки общо
- 14 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
PASS ok _/tmp/d20160126-5892-19gpkdg 0.005s PASS ok _/tmp/d20160126-5892-19gpkdg 0.004s PASS ok _/tmp/d20160126-5892-19gpkdg 0.006s PASS ok _/tmp/d20160126-5892-19gpkdg 0.007s PASS ok _/tmp/d20160126-5892-19gpkdg 0.007s PASS ok _/tmp/d20160126-5892-19gpkdg 0.006s PASS ok _/tmp/d20160126-5892-19gpkdg 0.006s PASS ok _/tmp/d20160126-5892-19gpkdg 0.007s PASS ok _/tmp/d20160126-5892-19gpkdg 0.006s 2016/01/26 20:31:11 http: multiple response.WriteHeader calls 2016/01/26 20:31:11 http: multiple response.WriteHeader calls 2016/01/26 20:31:11 http: multiple response.WriteHeader calls 2016/01/26 20:31:11 http: multiple response.WriteHeader calls 2016/01/26 20:31:11 http: multiple response.WriteHeader calls 2016/01/26 20:31:11 http: multiple response.WriteHeader calls 2016/01/26 20:31:11 http: multiple response.WriteHeader calls PASS ok _/tmp/d20160126-5892-19gpkdg 0.007s PASS ok _/tmp/d20160126-5892-19gpkdg 0.009s PASS ok _/tmp/d20160126-5892-19gpkdg 0.010s PASS ok _/tmp/d20160126-5892-19gpkdg 0.011s PASS ok _/tmp/d20160126-5892-19gpkdg 0.062s
История (5 версии и 4 коментара)
Михаил обнови решението на 25.01.2016 03:59 (преди над 2 години)
Михаил обнови решението на 25.01.2016 03:59 (преди над 2 години)
Функционално, решението ти е много близо до перфектното! Ако прочетеш условието още веднъж и обърнеш внимание на третата точка от допълнителните пояснения ще го изгладиш до край.
Мисля, че основната причина да се объркаш е сложния switch-if блок във ServeHTTP
. Виждал ли си http.ServerMux? С него, вероятно, ще ти е лесно да скриеш онази логика.
Ох, крайния срок е бил до вторник. Аз се обърках, че е до понеделник и стоях да пиша до 4 сутринта, бълвайки ужасен код :D
Ще го оправя това. Мерси :)
Сега забелязах и още нещо. Конструкции от типа на defer func() { gl.mutex.Unlock() }()
са излишни. Просто defer gl.mutex.Unlock()
върши същата работа. Все пак Unlock()
е извикване на функция.
Михаил обнови решението на 25.01.2016 23:50 (преди над 2 години)
Михаил обнови решението на 25.01.2016 23:52 (преди над 2 години)
Да, това с безсмислените функции в defer не знам как не съм го осъзнал...
Сега май трябва да е работещо от гледна точка на грешките. Пробвах и със ServeMux, ама го design-нах лошо и се забих в един парадокс, където за да създадеш променлива от типа ми, трябва вече да имаш референция към същата тая променлива дето ще създаваш... :D След твърде много време мъки осъзнах, че и дискретната математика ме чака и се върнах към първоначалното решение.