2010-11-29 2 views
5

자신의 PowerShell 함수에서 사용할 동사에 대한 토론을 많이 보았지만 Receive vs Get을 사용하는 것에 대한 설명을 보지 못했습니다. 그들은 나에게 거의 똑같은 의미지만, Receive는 특히 Communications와 관련된 상황에서 사용하도록되어 있습니다 (이를 보려면 Get-Verb를 입력하십시오). 그러나 공통 그룹에 속해 있으므로 어느 것을 사용해야하는지 잘 모릅니다.Powershell Receive vs Verbs 받기

기본적으로 RESTful API를 래핑하고 데이터를 가져 오는 기능이 있습니다 (서비스의 다른 메소드에 대한 매개 변수 세트 사용). 바로이 함수의 이름은 Get-FooData입니다. 그러나 일부 통신을하고 있기 때문에 Receive-FooData로 이름을 바꿔야한다고 생각합니다.

나는 Receive를 사용하기를 원한다는 점에서 나는 너무 문자 적이라고 생각한다. 내 개인적인 감정은 소리를 더 잘 들리 겠지만, 나는 그것을 사용하는 데 익숙해 졌다고 생각한다. 당신의 생각은 무엇입니까?

답변

6

필자는 아마추어 수준에서만 powershell을 능숙하게 사용하지만, 나에게있어 "get"은 훨씬 강력하고 책임있는 코드 유형을 의미합니다. 내 코드가 동작을 시작한다는 것을 의미하고 다른 소프트웨어는 내 요청에 겸허하게 응답합니다. "수신"은 다른 소프트웨어가 실제로 담당하는 것을보다 유순하게 표현합니다. 따라서 다른 소프트웨어가 예를 들어 1 분에 1 번 온도를 내고있는 경우 Receive를 사용할 수 있습니다. 나는 데이터를받을 것이지만 다른 소프트웨어는 그것을 받기 위해 거기 있지 않더라도 그 일을하고있다.

"Get"은 짧고 대부분 내 코드가 담당하고 있다고 느끼고 싶습니다. Get으로 이동하십시오.

+0

이 좋은 점이며이 이름에 대처하기 위해 나에게 도움이'수신 - Job' 더 나은 REST -via. –

+1

답변 해 주셔서 감사합니다. 모든 의견을 토대로 필자는이 특별한 경우에 대해 Get을 사용하는 것이 Receive를 사용하는 것보다 더 합리적이라는 결론에 도달했습니다. 기술적으로 다른 이유가 없다면 Send (http 요청) 및 Receive (http 응답 받기)를 수행하므로 이러한 모든 작업의 ​​합계는 Get입니다. 답변 해 주셔서 감사합니다. –

4

이것은 흥미로운 디자인 질문이며이 선택을 몇 번 생각해 보았습니다. 이 지침에 따르면 : 나는 또한 등이 접근 통신이 Send-X 명령 쌍/위성, Connect-X 중 하나를 디자인 할 때

Microsoft Command Line Standard

내 느낌도 나는 경우에 Receive-X 이름을 사용하여 검색 기능 향상 : Receive-X이 보이면 설명서를 읽지 않고도 추가 명령이 존재할 것으로 기대됩니다.

은 어떤 의미에서 이것은 기본 PowerShell 명령 Receive-Job 마찬가지입니다 : 우리가 (Get-Item, Get-Process 등과 달리) 우리가 처음 우리가 전화를 즉시, 데이터가 나중에 수신 할 수있는 일을 시작해야 함을 호출 할 수 없습니다 Start-Job. 그러나 개인적으로, 나는 그것을 다르게 부른다 : Get-JobResult 또는 그런 것; 나에게이 이름은 덜 혼란 스럽습니다. 우리가 얻는 직업 결과이며, 직업 인스턴스가 아니며 Send-Job과 같은 다른 위성 명령은 없습니다. Receive-Job이라는 이름은 앞으로도 더 적절한 것으로 사용할 수 있습니다.

대부분의 경우 Get으로 갈 것입니다. 그러나 실제로 사용자가 멈추고 왜 X가 Receive이 아니라 Get이 아니라고 생각하는 순간을 생각하면 그 이유가 있습니다. Receive이 적합 할 수 있습니다.

모두 내 cmdlet/script/function 이름에 동사 Receive을 사용한 적이 없습니다. 항상이 선택을하기에는 충분하지 않았습니다.

4

명사를 사용하여 결정하십시오. 명사가 검색중인 개체 인 경우 "GET"을 사용하십시오. 명사가 당신이 무언가를 검색하는 메커니즘이라면, "RECEIVE"를 사용하십시오.

GET-BOOK은

수신-REST -object 책

관련 문제