Selamat Datang di Bahasa Inggris Hukum.
Menggunakan "harus" == "wajib" == kewajiban kontrak. Itu adalah legalisme. Itu tidak mengarah pada "pertanyaan". Ini menandai hukuman sebagai kewajiban kontrak formal.
Menggunakan "akan" == "akan" == ide bagus. Ini menandai kalimat sebagai fitur opsional.
Pertanyaan adalah bagian dari fasilitasi, organisasi, membantu, membangun kepercayaan. Bukan konsensus pilihan kata.
Menggunakan kata kerja telanjang tanpa pengubah membuat kalimat sedikit lebih sulit untuk disorot sebagai persyaratan formal. Dan dalam kasus kata kerja super-kompleks, bisa jadi sedikit tidak pasti untuk mengetahui bagaimana mengkonjugasikannya.
Kata kerja mudah seperti "memberi tahu" atau "membuat".
Sistem memberi tahu melalui email. (Kata kerja "untuk memberi tahu" dikonjugasikan "memberi tahu" untuk "sistem" - apa pun itu.)
Sistem akan memberi tahu melalui email. ("memberi tahu" menjadi "akan memberi tahu" - tidak ada konjugasi. Sangat sederhana.)
Frasa kata kerja yang sulit seperti "untuk masuk" atau frasa kata kerja khusus domain seperti "untuk mengekstrak, membersihkan, mengubah, menghapus duplikat dan memuat" atau kata benda seperti "prospek" yang telah di verbed. Frasa yang lebih panjang yang memiliki beberapa kata kerja yang terkubur di dalamnya sulit dikonjugasikan: konjugasi setiap kata kerja? Atau coba konjugasikan frasa panjang itu seolah hanya satu kata? Karena kata benda apa pun dapat diverbal dalam bahasa Inggris, sulit untuk mengetahui bagaimana mengkonjugasikan kata kerja yang dibuat-buat itu.
Sistem mengekstrak, membersihkan, mengubah, menghapus duplikat dan memuat ketika pengguna mengklik masuk. (Bahasa Inggris secara sepele kata kerja frase noun.) Atau apakah itu mengekstraksi, membersihkan, mengubah, menduplikasi dan memuat?
Sistem harus mengekstrak, membersihkan, mengubah, mendupuplikasi, dan memuat ketika pengguna mengklik masuk. (Frasa mengerikan dibiarkan utuh, tidak ada misteri tentang konjugasi kata kerja.)
["Apa?" Anda berkata, "ada kata benda yang bisa diverbal dalam bahasa Inggris?". Iya. Kata benda apa saja. Saya akan menghalanginya. Saya sering mengalami hambatan dalam hal itu. Bahkan spesifikasinya harus menghalanginya.]
Semata-mata masalah preferensi gaya. Itu bermuara pada bertanya, apakah Anda / klien Anda lebih suka untuk berpikir tentang sistem di masa sekarang atau masa depan?
Kualifikasi seperti "harus" atau "akan" menyiratkan tense masa depan, tetapi ini lunak dan cukup baik dibaca ketika berpikir dalam tegang saat ini. Kurangnya kualifikasi pasti menunjukkan present tense (yaitu saat ini juga).
Saya lebih suka menggunakan kualifikasi karena membaca lumayan bagus di kedua kasus, sedangkan kurangnya kualifikasi membaca agak aneh selama pengembangan ketika semuanya tegang di masa depan.
Bagaimanapun, jika Anda memutuskan untuk menggunakan kualifikasi, saya sangat merekomendasikan menggunakan "harus" daripada "harus" . "Harus" dapat diartikan sebagai opsional (terlepas dari pernyataan S.Lott yang bertentangan), tetapi "harus" sepenuhnya menghilangkan ambiguitas - jelas harus berarti "tidak opsional".
Dan karena saya belum bisa berkomentar (kendala karma), ini adalah respons terhadap S.Lott tentang Harus / Akan vs Akan / Akan: ada banyak ambiguitas tentang akan dan akan, bahkan dalam penulisan kontrak hukum. Lihat artikel ini untuk penjelasan .
sumber
Saya mendukung penggunaan orang ketiga, present tense tanpa kualifikasi.
Argumen utama saya adalah: Tes adalah sebuah cerita.
Sebuah cerita terdiri dari adegan-adegan. Setiap adegan menggambarkan:
Contoh:
Sama seperti cerita yang bagus, ujian yang baik mudah dibaca.
Sebuah cerita memberi tahu Anda apa yang dilakukan oleh program, misalnya
Di sisi lain, menggunakan kualifikasi (tidak masalah apakah itu "harus" atau "harus") mengubah tes menjadi daftar pernyataan, misalnya:
Tidak ada cerita yang berkelanjutan: pikiran Anda sedang mengevaluasi daftar pernyataan.
Ini subjektif, tetapi membaca bahasa alami (sebuah cerita) lebih sederhana daripada membaca daftar pernyataan.
sumber
Menurut pendapat saya, Anda harus selalu menggunakan 'seharusnya'.
Penalaran - dengan BDD, ketika Anda menulis tes, perangkat lunak belum melakukan apa yang Anda inginkan, sehingga mengatakan "melakukan sesuatu" adalah salah. Itu "harus melakukan sesuatu", dan tes akan berlalu selama itu terus melakukan sesuatu itu.
sumber
Dari behaviour-driven.org berjudul "GettingTheWordsRight" :
Singkatnya, kata-kata yang kita gunakan untuk menggambarkan hal-hal memengaruhi cara kita (dan orang lain) memikirkan hal-hal itu. Ini bukan hanya pertanyaan sederhana menjadi picik tentang semantik, karena kata-kata tertentu membawa nuansa yang mempengaruhi bagaimana kita menafsirkan makna frase pada tingkat intelektual dan emosional. Bahasa kita kaya dengan kata-kata dan frasa deskriptif sehingga tampaknya masuk akal untuk menggunakan kata-kata yang akan dengan jelas menyampaikan maksud unsur-unsur yang ingin kita uraikan dalam kode.
Dalam kasus BDD, saya pribadi yang hampir selalu menggunakan kata harus ketika penamaan tes, karena penggunaannya menyiratkan bahwa sementara maksudnya adalah untuk tes untuk memberikan hasil tertentu, konsekuensi tak terduga lainnya mungkin timbul yang perlu ditangani dengan jika hasil tes dianggap valid. Anda mungkin dapat menggunakan kata-kata harapan atau keharusansama, namun kata-kata ini menyiratkan sudut pandang yang lebih penting sehingga nama tes bisa keliru berarti "tidak ada yang salah dengan tes, asumsikan pelaksanaannya kacau", sedangkan * harus "menyiratkan bahwa tes cenderung benar, namun mungkin perlu diperiksa lagi untuk kesalahan jika hasil tes sepertinya tidak bertambah. Saya suka ini, karena itu mempengaruhi pemikiran Anda sedemikian rupa sehingga Anda didorong untuk tetap berpikiran terbuka saat Anda membuat kode, yang sangat penting ketika Anda ingin menghindari macet ketika Anda mencoba men-debug kode Anda dan menemukan diri Anda mencari kesalahan di tempat yang salah karena asumsi.
Namun saya telah melihat penerapan kata 'religius' yang dekat dari kata itu harus gagal ketika telah diberlakukan sebagai awalan untuk nama tes, karena telah memaksa programmer yang terlibat untuk pergi melalui senam mental dan linguistik tertentu untuk memberikan nama uji yang bermakna, dan dalam kasus-kasus seperti itu berarti bahwa niat untuk mendapatkan kata-kata yang tepat tidak memenuhi harapannya, dan akibatnya tes-tes itu sendiri menjadi sulit untuk diuraikan sebagai hasilnya. Ketika situasi seperti ini muncul, saya biasanya akan menggunakan kata seharusnyadi sembarang tempat dalam nama metode pengujian, untuk memastikan nama tersebut menyampaikan metodenya secara sederhana dan jelas. Namun saya tidak akan memaksakan penggunaan kata tertentu jika kata lain sama-sama sesuai dalam konteks yang diberikan. Triknya adalah memilih kata-kata yang tidak memberikan ruang untuk argumen tentang apa yang diwakili sesuatu dalam kode, dan itu membuat Anda berpikir tentang hal-hal yang seharusnya dilakukan oleh kode Anda tanpa mengandalkan implikasi belaka.
sumber