2010-11-29 12 views
5

Kendi PowerShell işlevlerinizde hangi fiillerin kullanılacağı üzerine birkaç tartışma gördüm, ancak Receive vs Get'i kullanma konusunda bir açıklama görmedim. Benim için kabaca aynı şeyi kastediyorlar, ancak Alma'nın özellikle İletişim içeren durumlarda kullanılması gerekiyor (bunu görmek için sadece Get-Verb yazın). Ancak, Ortak grupta olsun, bu yüzden hangisinin kullanılacağından emin değilim.Powershell Receive Get Verbs

Bir RESTful API'sini temelde saran ve ondan veri alan bir işlev var (Hizmetin farklı yöntemleri için parametre kümeleri kullanıyorum). Şu anda işlev Get-FooData denir. Ancak, biraz iletişim kurduğundan, onu Receive-FooData'ya yeniden adlandırmam gerektiğini düşünüyorum.

Burada Alma'yı kullanmak için çok fazla edebi olduğumu düşünüyorum. Kişisel hislerim daha iyi ses çıkarmasıdır, ama sanırım bunu kullanmak için kullanıyorum. Düşüncelerin neler?

cevap

6

Sadece amatör seviyedeki powershell'de yetkin olmamam da, benim için "get" çok daha güçlü ve sorumlu bir kod türü anlamına geliyor. Kodumun bu eylemi başlatacağı anlamına gelir ve diğer yazılım benim isteğime acımasızca cevap verecektir. "Al", diğer yazılımın gerçekten sorumlu olduğu anlamında daha uysal geliyor. Bu yüzden, eğer diğer yazılımlar örneğin bir dakikada bir kez sıcaklıkları söndürürse Al'ı kullanabilirim. Verileri alacağım ama diğer yazılım onu ​​almak için orada olmasa bile kendi işini yapıyor.

"Get" kısadır ve çoğu zaman kodumun sorumlu olduğunu hissetmeyi severim. Get ile git.

+0

bu iyi bir nokta olduğunu ve adı ile başa çıkmak için yardımcı oluyor 'al-Job' iyi de REST -via. –

+1

Cevabınız için teşekkür ederiz. Tüm yorumlara dayanarak, bu özel durum için Get'i kullanmanın Alımı kullanmaktan daha mantıklı olduğu sonucuna vardım. Teknik olarak bir başka sebepten ötürü, Send (bir http isteği) ve bir Alma (http yanıtını alma) yapıyorum, bu nedenle tüm bu işlemlerin toplamı Get'dir. Yanıtlarınız için herkese teşekkürler. –

4

Bu ilginç bir tasarım sorusu ve bu seçim üzerinde birkaç kez düşünürdüm. bu yönergelere göre: Ben de vs. Bu yaklaşımın iletişim Send-X komutları çifti/uydu, Connect-X, birini tasarlarken

Microsoft Command Line Standard

ve benim duygu da ben durumlarda Receive-X adı kullanır bulunabilirliğini arttırır: Receive-X'u görürsem, elkitaplarını okumadan bile, ek komutların olmasını beklerim.

Bir anlamda bu yerli PowerShell komutu Receive-Job için de geçerlidir: biz sadece (Get-Item, Get-Process vb aksine), öncelikle dediğimiz yani en veriler sonradan alınabilir bir şey başlatmak zorunda diyemezsin Start-Job. Ama kişisel olarak, onu farklı olarak adlandırırdım: Get-JobResult veya bunun gibi bir şey; bana bu isim daha az kafa karıştırıcı olurdu: iş sonuçları değil, iş sonuçları ve Send-Job gibi başka uydu komutları yok. Receive-Job adı, gelecekte daha uygun bir şekilde kullanılabilir.

Çoğu durumda Get ile giderdim. Ama gerçekten bir kullanıcı durmak ve X neden Receive, Get neden bir an için düşünmek istiyorsanız, ve daha sonra Receive uygun olabilir nedenleri vardır.

Her şeyden önce, cmdlet/script/function adlarında Receive fiilini gerçekten kullanmamıştım: Bu seçimi yapmak için her zaman yeterli bir şey yoktu.

4

Karar vermek için adı kullanın. Adınız, alınan nesne ise "GET" kullanın. İsim, bir şey aldığınız mekanizma ise, "ALIN" seçeneğini kullanın.

örn.

GET-KİTAP

ALMAK-DİNLENME -Nesne kitap