로깅 및 속성 구문 분석과 같은 프로젝트 차원의 메서드가있는 VB.NET 프로그램에 Util
모듈이 있습니다. 내가 일하는 일반적인 관행은 이들 메서드에 접두사없이 직접 Util
을 호출하는 것으로 보인다. VB를 처음 접했을 때,이 메소드/함수가 어디에서 왔는지 파악하는 데 시간이 걸렸습니다. 지금 내 자신의 Util
메서드를 사용하기 때문에 각 메서드 호출 전에 Util.
을 추가하는 것이 훨씬 명확하고 이해할 수 있다고 생각할 수 없습니다 (사용자가 정의했지만 현재 클래스 내에 있지 않고 즉시 찾을 수 있음). 그것), 그리고 거의 더 길지 않습니다. VB 모듈의 프로 시저/함수를 호출 할 때 일반적인 관행은 무엇입니까? 모듈 이름 앞에 접두사를 붙이겠습니까?VB.NET에서 모듈 함수를 직접 호출하는 것이 좋습니다.
답변
Intellisense (및 "Goto Definition")는 사물이있는 곳을 찾는 것이 쉽지만, 읽기 쉽도록하기 위해 항상 더 나은 네임 스페이스를 사용합니다. 그런 다음 그것은 사용자 정의 함수이고 작업중인 클래스에 내장되거나 로컬 인 것은 아닙니다.
아마도 미묘한 차이가 있습니다. 공통점이 있고 자체 포함 된 코드 대신 모듈 대신 공유 클래스를 사용하는 경향이 있습니다. 나를 추적하기가 더 쉬워 보이며, 또한 시행 할 것입니다. 네비게이션을 호출하기위한 네임 스페이스를 제공하지 않고 어디에서나 호출 할 수 있기 때문에 프리 프레임 처리 규칙.
나는 일반적으로 읽기 쉽도록 공유 함수의 전체 네임 스페이스를 지정합니다.
Call MyNameSpace.Utils.MySharedFunction()
Util은 그러한 일반적인 이름입니다.
.Net 프레임 워크의 예제. System.Web.HttpUtility.UrlEncode(...)
이 있습니다. 일반적으로 상단에 가져 오기 문이 있으므로 HttpUtility.UrlEncode
으로 참조하십시오.
정적 유틸리티 메소드가있는 클래스의 이름을 읽고 설명 할 수 있어야합니다. 그것은 좋은 습관입니다. 클래스 이름이 좋은 경우 Utils 네임 스페이스에 상주 할 수도 있지만 클래스 이름은 Utils
이 아니어야합니다.
모든 로그인을 Logger
클래스에 넣으십시오. 모든 문자열은 StringUtils
클래스에 전달됩니다. 클래스 이름은 가능한 한 구체적으로 유지하려고합니다. 다른 방법보다 함수 수가 적은 클래스를 더 많이 갖고 싶습니다.
동의하지만 Util 클래스의 메서드가 매우 적은 매우 작은 임시 프로젝트이며 이것이 구현 방법입니다. 약간 더 크거나 장기적으로 우리는 그것을 훨씬 더 모듈화 할 것입니다. – froadie
Utils 클래스의 이름을 실제로 유틸리티라고 바꾸십시오. 두 가지 경우라면 두 클래스로 나눠보세요. 시간이 지남에 따라 누군가가 기능을 추가하고 그것을 Utils에 집어 넣으면 성장하고 성장할 것입니다. 큰 Q는 작은 임시 작업 일 때 최고의 연습을 건너 뛸 수 있도록 허용해야합니까? 잠시 후에 코드가 삭제되고 다시 만져 본 적이 없다면 나는 그렇다고 말할 것입니다. 그러나 이것을 오늘 알면 얼마나 쉬울까요? –
- 1. VB.NET에서 모듈 또는 클래스의 함수를 넣는 것이 더 낫습니다.
- 2. 생성자에서 메서드를 호출하는 것이 좋습니다.
- 3. window.opener를 사용하여 자바 스크립트 함수를 호출하는 것이 좋습니다.
- 4. - [NSRunLoop runUntilDate :]를 호출하는 것이 좋습니다.
- 5. C에서 중첩 된 함수를 사용하는 것이 좋습니다.
- 6. NdrClientCall2() 함수를 직접 호출하는 방법은 무엇입니까?
- 7. VS2010 직접 창에서 F # 함수를 호출하는 방법
- 8. * 이것을 사용하는 것이 좋습니다.
- 9. ajax를 사용하여 PHP 클래스 함수를 직접 호출하는 방법은 무엇입니까?
- 10. C#으로 테스트하고 vb.net에서 프로덕션 코드를 작성하는 것이 좋습니다
- 11. JCA에서 OSGI로 마이그레이션하는 것이 좋습니다.
- 12. 함수를 반복하거나 함수를 여러 번 호출하는 것이 더 빠릅니까?
- 13. Model (MVC)에서 직접 HTML을 가져 오는 것이 좋습니다.
- 14. cakePHP에서 ajax를 호출하는 동안 액션 URL을 사용하는 것이 가장 좋습니다.
- 15. 그리드에서 행을 클릭 할 때마다 array.splice()를 호출하는 것이 좋습니다.
- 16. 메시지 큐에 로깅하는 것이 좋습니다.
- 17. 페이지를 리디렉션하는 것이 좋습니다.
- 18. mysqli로 전환하는 것이 좋습니다.
- 19. MFC를 사용하는 것이 좋습니다?
- 20. PHP로 구성하는 것이 좋습니다?
- 21. gzcompress를 사용하는 것이 좋습니다.
- 22. 사용자 정의 함수를 만드는 저장 프로 시저를 만드는 것이 좋습니다 ...?
- 23. 자바 스크립트/jquery 함수를 변수로 설정하는 것이 가장 좋습니다. 왜?
- 24. 이미지를 DB에 저장하는 것이 좋습니다.
- 25. 자바 스크립트를 암호화하는 것이 좋습니다?
- 26. DynamicObject.TryGetMember를 직접 호출하는 방법은 무엇입니까?
- 27. JS에서 함수를 호출하는 함수를 찾으시겠습니까?
- 28. 'sys_mount'를 호출하는 컴파일 모듈
- 29. VB.NET에서 매개 변수없는 함수를 호출 할 때도 괄호를 사용합니까? VB.NET에서
- 30. 쿼리에 삽입하는 것이 더 좋습니다.
확장 메서드에 대한 모듈이 필요하지만이를 피하고 공유 클래스를 사용합니다. –
"Goto Definition", 의심의 여지가 없습니다. 우리가 Imports 문을 사용하고 Module 메소드를 호출 할 수있게 해주는이 사소한 기능은 메소드의 출처에 대해 두 번 생각할 필요가 없다는 것을 보장합니다. +1. –