اتفاقيات تسمية الملفات في Go: snake_case أم شيء آخر؟
مرحبًا! بدأت مؤخرًا في تعلم Go، وانتقلت من Python، ويحيرني قليلاً مسألة تسمية الملفات. في Python اعتدت على snake_case للوحدات والملفات، ولكن في Go، بناءً على المكتبة القياسية، يتم استخدام snake_case مع الشرطات السفلية، وأرى أن بعض الملفات تُسمى مثل `http.go` و `transport.go` و `server.go`. لكنني أيضًا صادفت في مشاريع مفتوحة المصدر ملفات مثل `myHandler.go` و `MyService.go` أو حتى `user_repository.go`. ما هو الصحيح؟
إليك مثال على مشروعي حيث أحاول تنظيم الكود:
```go
// مشروعي: REST API بسيط للملاحظات
// ملف: main.go
package main
import "fmt"
func main() {
fmt.Println("Hello, Notes API!")
}
// ملف: handlers.go
package main
// معالج لإنشاء ملاحظة
func CreateNoteHandler() {
// ...
}
// ملف: models.go
package main
type Note struct {
ID int
Text string
}
```
لست متأكدًا مما إذا كان يجب تسمية الملفات بحرف كبير (مثل `Handlers.go`) أو استخدام الشرطة السفلية.