Recientemente, cambie un poco la forma en que programo algunas tareas, primero escribo la descripción de la API y el caso de uso en Notion para tener claridad en mis objetivos. Luego, paso esta información como comentarios en el archivo de código, lo cual me sirve de guía a mi y a copilot como prompt.
Acá es cuando entra en juego GitHub Copilot, permitiéndome generar un borrador de código basado en los comentarios. Aunque es una excelente herramienta de arranque, siempre me tomo el tiempo de revisar minuciosamente el código que escribe, haciendo ajustes según sea necesario para asegurar su calidad.
Finalmente, en la fase de pruebas, trabajo con Copilot para crear tests que validen la funcionalidad y robustez de la implementación.
Ejemplo:
# action to return the an entry for the user, this comes from the user and their corresponding address book entries
def show
end
Copilot:
# action to return the an entry for the user, this comes from the user and their corresponding address book entries
def show
entry = @current_user.user_address_book_entries.find(params[:id])
render json: entry, serializer: AddressBookEntrySerializer
end
Este enfoque estructurado y asistido me resulta muy eficiente, permitiéndome mantener el enfoque y producir código de alta calidad.