Провести ревью кода.
Условие
Заголовок раздела «Условие»Провести ревью кода.
package main
import ( "encoding/json " "fmt " "net/http ")
// Необходимо хранить список из username и почты в памяти программы.// Пользователи программы могут добавлять и просматривать users.// Разработчик написал данный код, но не прошел ревью.// Нужно указать на ошибки и исправить, либо оставить комментарий о том, что можно улучшить.
var users = []string{}
type User struct { Username string `json:"username "` email string `json:"email "` // Email}
// contextfunc addUser(w http.ResponseWriter, r *http.Request) { var newUser User err := json.NewDecoder(r.Body).Decode(&newUser) if err != nil { http.Error(w, "Error parsing JSON ", http.StatusBadRequest) return } // lock users = append(users, newUser.Username) // [100] // unlock fmt.Fprintf(w, "Added user ")}
// contextfunc getUsers(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(users) // return}
// goroutinefunc main() { http.HandleFunc("/addUser ", addUser) http.HandleFunc("/getUsers ", getUsers) fmt.Println("Server starting on port 8080...") http.ListenAndServe(":8080 ", nil)}Решение
Заголовок раздела «Решение»Источник: Инфосистемы Джет · 1 кв 2025
← Код отрабатывает за 1 сек. Нужно его ус… · Все задачи · Go · Дан HTTP POST-эндпоинт, который принима… →