DRY - не дублировать логику; выносить в функции, пакеты, общие типы. KISS - простые решения; не усложнять без необходимости. YAGNI - не реализовывать функциональность "на будущее". В Go: переиспользование через пакеты и интерфейсы, простые структуры данных, минимальный публичный API. Рефакторинг при появлении реального дублирования.