2012-05-10 4 views
3

사용자 정의 프레임 워크의 네임 스페이스에서 분음 기호 (예 : ō)가있는 문자를 사용할 것을 고려하고 있습니다. 이 아이디어는 제품을 구별하는 방법으로 떠오르지 만 나쁜 생각이 아닌지 확인하고 싶습니다. 나중에 나에게 물지 않기 위해 다시 올 것입니다. 내 검색에서 특수 문자를 사용하는 네임 스페이스의 다른 예나이 주제에 대한 유사한 토론을 보지 못했으며이 경로를 계속 사용하기 위해 잠시 멈출 수 있습니다.네임 스페이스의 특수 문자

처음에는 분음 기호를 사용하여 어셈블리의 이름을 지정하려고했지만, 처음 만났을 때 나는 어셈블리에 디지털 서명을 시도했습니다. 명령 프롬프트에 특수 문자가 표시되지 않아 유효한 입력 오류가 없습니다. 아마도 또 다른 해결 방법이 있을까요?

Visual Studio에서 네임 스페이스를 타이핑하는 것이 더 어렵다는 것을 알았습니다. 그러나 중요한 이슈로 생각하지는 않습니다. 왜냐하면 캐릭터가 내가 사용하고있는 단어의 끝 부분에 올 것이기 때문에,이 단어는 매우 독특 할 것이며, IntelliSense로는 너무 큰 문제가되어서는 안됩니다.

조립 Macron.dll에 포함 된 다음과 같은 예를 생각해보십시오 :

namespace Macrōn.Library 
{ 
    public class MyLibrary 
    { 
     public string MyProperty { get; set; } 
    } 
} 

생성이 Macron.dll를 사용하여 아무 문제 없어 보입니다, 그리고이 예 Macrōn.Library 네임 스페이스를 구별 아무 문제가 없습니다 . 파일, 폴더, 프로젝트 & 솔루션 이름 Macrōn은 어떤 문제도 일으키지 않는 것 같으며 모든 것이 소스 제어를 통해 문제없이 해결됩니다.

어셈블리 및 네임 스페이스에서 분음 기호를 사용할 때 누락 된 다른 고려 사항이나 문제점은 무엇입니까? 어셈블리에 서명 할 때마다 내 문제를 해결할 생각이 있습니까? 이 접근법이 실패 할 것인가? 혼란 스럽거나 달리 사용하기가 어렵거나 불명확 할 수 있으므로 실제 구현할 가치가 없습니까?

이 작업은 나중에 실행 취소해야 할 많은 작업으로 바뀌며, 너무 깊숙해지기 전에 내가 발에서 스스로를 쏘고 있는지 알고 싶습니다.

감사합니다.

답변

7

나는 이것이 나쁜 생각이 아니 었는지 확인하고 싶습니다. 나중에 나에게 물지 않기 위해 다시 올 것입니다.

유효합니다. 많은 obfuscator가 네임 스페이스/유형을 변경하여 유니 코드 문자 (일부는 인쇄 할 수 없어도)를 사용하여 리버스 엔지니어링을 더 어렵게 만듭니다.

이것이 다른 사람들이 소비하는 공용 프레임 워크 인 경우, 나는 그것을 권장하지 않습니다. 그러면 네임 스페이스를 사용하는 모든 사용자가 유니 코드/UTF8로 소스 파일을 저장하게되며, 그렇지 않으면 ō 문자가 ?으로 바뀝니다. 그런 다음 더 이상 컴파일되지 않습니다.

알렉세이 (Alexei)도 매우 좋은 코멘트를 남겼습니다. 카피 이외의 문자를 어떻게 붙여 넣을지 잘 모르겠습니다. 그건 분명히 나를 약화시킬거야.

+3

+1. 또한 대부분의 사람들은 검색 엔진에서 코드와 (더 중요한 것은) 코드를 입력 할 수 없습니다. 그리고 Stackoverflow 파서가 올바르게 이러한 이름을 처리하지 않습니다 :). –

+0

고마워, 내가 찾고 있던 통찰력. –

2

나는 모든 사람이 Visual Studio를 사용하지 않으므로 vcsjones 답변에 추가하고 싶습니다. 따라서 누구나 쉽게 사용할 수 있도록 intellisense에 의존해서는 안됩니다. 내가 실현

하나 잡았다는 더 도전 Visual Studio에서 네임 스페이스를 입력 할 수 있다는 것입니다.나는이 문제를 주요한 문제로 보지 않고 있는데, 문자가 단어의 끝 부분에 올 것이므로 이라는 단어를 사용하면 단어가 다소 독특 할 것이며 IntelliSense와 함께라면 은 너무 커서는 안됩니다. 문제

이 문제를 해결하려면 다른 사람의 라이브러리를 사용하는 것이 매우 짜증이났습니다.

+1

+1 "다른 사람이 쉽게 사용할 수 있도록 intellisense에 의존해서는 안됩니다." – vcsjones

+0

뛰어난 점! –

관련 문제