четверг, 14 марта 2019 г.

Go Code Review Comments: Синхронные функции

Предпочитайте синхронные функции - функции, которые возвращают свои результаты напрямую, или завершают любые обратные вызовы или операции канала перед возвратом - вместо асинхронных.

Синхронные функции позволяют локализовать go-процедуры (goroutines) в вызове, что упрощает анализ их времени жизни и позволяет избежать утечек и скачков данных. Их также проще протестировать: вызывающий может передать вход и проверить выход без необходимости опроса или синхронизации.

Если вызывающим абонентам требуется больше конкурентности, они могут легко добавить ее, вызвав функцию из отдельной go-процедуры. Напротив, бывает довольно трудно - иногда невозможно - удалить ненужную конкурентность на вызывающей стороне.


Читайте также:


Комментариев нет:

Отправить комментарий