5 links
tagged with all of: go + software-development
Click any tag below to further narrow down your results
Links
John Arundel shares ten essential commandments for writing effective Go code, emphasizing practices such as creating reusable packages, thorough testing, and prioritizing code readability. The guidelines also stress error handling, safe programming habits, and the importance of maintaining a clean environment while coding. By adhering to these principles, developers can enhance their code quality and overall efficiency.
Modern Go application design emphasizes the importance of structured code and repeatable processes for effective development. By applying principles such as SOLID and Domain-Driven Design (DDD), developers can create composable, reliable applications with well-defined components that enhance testing and reduce bugs. The article discusses the role of use cases and data models in shaping application architecture, advocating for a schema-first approach to maintain clean data models and improve application scalability.
After 19 years at Google, the author reflects on their journey with the Go programming language, highlighting its evolution and their contributions to the project. Despite feeling out of sync with the current direction of Go at Google, they express a continued interest in the language's future development and plan to take a break before potentially contributing again.
The article discusses the tension between using Go's built-in testing capabilities versus adopting external testing frameworks that create mini-languages, reflecting on the implications of each approach. It draws from personal experiences and industry examples to argue for the simplicity and clarity of using Go's native testing features while critiquing the complexity introduced by various frameworks. The author emphasizes the importance of consistency and ease of refactoring in testing practices.
The article covers best practices and strategies for error handling in Go programming, emphasizing the importance of clear error reporting and management. It discusses various techniques, such as using error types, wrapping errors, and leveraging Go's built-in error handling features to create more resilient applications. Effective error handling is positioned as a crucial aspect of building robust and maintainable Go software.