나는 클래스를 %
접미사로 명명하는 관례가 있는데, 이는 상위 클래스와 인스턴스를 구별하는 데 도움이되기 때문입니다. 내가 구조체를 필요로 할 때 다른 손에 라켓에 구조체의 명명 규칙이 있습니까?
(define ingredient%
(class object%
(init-field name taste price color)
(super-new)))
(define (total-price ingredients)
(for/sum (ingredient ingredients)
;; here "ingredient" stands for the instance, not the class ingredient%
(get-field price ingredient)))
은 내가 구조체 이름과 충돌하지 않는 인스턴스의 이름을 찾기 위해 사투를 벌인거야.
§
:
그래서 나도 구조체에 대한 접미사를 사용하기 시작. 기호는 내 키보드에서 쉽게 액세스 할 수 있습니다. 아쉽게도 표준 QWERTY 기호가 아닐 수도 있으므로 나중에
$
으로 바꿀 것입니다.
(struct ingredient§ (name taste price color))
(define ingredient (ingredient§ "Carrot" 'good 1.0 'orange))
(displayln (format "I'm making a ~a cake." (ingredient§-name ingredient)))
이 무엇이든간에 심볼, 나는 구조체에 대한 접미사를 사용하는 대신 변수에서 임의 모음을 제거 할 필요없이 명확 인스턴스 이름을 선택하는 당신은 무료로 유지 것을 찾을 수 있습니다.
또 다른 옵션은 %
을 구조체의 접두사 및 클래스의 접미사로 사용하여 구조체 접근자가 계속 읽을 수있게합니다. (%ingredient-name ingredient)
.
빠른 GitHub의 조사에서 판단이 : (여기에 사용이 때문에 낙타 표기법을 사용하여 학생 몇 명을 제외하고)있는 그대로 모든 사람들이 꽤 많이 구조체를 사용하는 것처럼 https://github.com/search?p=1&q=struct-out+language%3Aracket&type=Code
것 같습니다.
그래서 구조체 유형과 인스턴스를 구분하려면 어떻게해야합니까? 관련성이 있습니까? 내가 지금까지 생각하고 있니? 소프트웨어 엔지니어링에 대해이 질문을해야합니까?