Как да (не) си изпращаме задачите
Тук ще намерите кратки (или не толкова кратки) инструкции за това как да си изпращате задачите.
Накратко
- Прочетете си условието внимателно и дори няколко пъти.
- Напишете решение в пакета
main
. - Обработете решението с Gofmt:
gofmt -w your_solution.go
. - Изпълнете примерния тест.
- Не споделяйте решението си с никого.
- Не гледайте чужди решения.
Преписване и споделяне на решения
Всички решения стават публични след крайния срок на задачата. Преди това всякакво споделяне на решения е забранено.
Това включва:
- Да пратите решението си на някой друг.
- Да го покажете на другарче, за да "почерпи идеи".
- Да го сложите някъде публично преди крайния срок (например GitHub).
Ако хванем, че сте преписвали, ви късаме без много-много обяснения и губите всичките си точки от задачи. Когато се видим през септември, схемата за оценява продължава да важи за вас и вие продължавате да имате 0 точки от задачи. Това означава, че се борите за 3 или 4. Ако сте много нахални, санкциите могат да бъдат по-тежки.
Често виждаме двойка решения, едното от които е променено за да изглежда различно. Това се хваща по-лесно, отколкото си мислите. Имаме достъп до всички задачи, които сте предали, както и до тези на другарчето ви. Ако решим, че случая е такъв, няма да даваме много обяснения. По-добре не го правете.
От друга страна, не се притеснявайте да напишете най-простия възможен код, понеже "други хора ще предадат същото решение". Това също се разпознава лесно, и разбира се, няма да сметнем, че сте преписвали. Пишете най-добрия код, на който сте способни, не споделяйте решенията си и няма да има причина да се притеснявате, че ще помислим, че сте преписвали.
От какво имате нужда
Ако пращате задача за първи път, проверете, че имате Go версия 1.7.3.
$ go version
go version go1.7.3 linux/amd64
Тестването се прави чрез командата go test
.
Примерен тест
С всяка задача публикуваме примерен тест в GitHub хранилището. Задължително изтеглете теста и го пуснете. За да направите това:
- Запишете решението си като
solution.go
. - Проверете, че то включва
package main
. - Преименувайте теста на
solution_test.go
. - Сложете ги в една и съща директория.
Изпълнете следната команда:
$ go test
Чувствайте се напълно свободни да напишете още тестове. Примерния тестов файл ще е единствено sanity check, който проверява няколко прости случая. Истинския тест ще е доста по-обстоен и е добре да помислите какви още случаи не са покрити, и да ги допишете.
За повече информация за тестването в Go, прочетете Overview секцията в документацията.