Salah satu masalah yang paling biasa dalam pembangunan perisian ialah perdebatan mengenai pilihan teknologi. Sama ada bahasa pengaturcaraan, rangka kerja atau alatan. Selalunya, perdebatan ini berakhir dengan kesimpulan mudah "Teknologi A lebih baik daripada B" atau "Teknologi X lebih teruk daripada Y" tanpa mengambil kira konteks dan sistem nilai di sebalik reka bentuk teknologi tersebut
Fahami perbezaan antara "tidak bekerja" dan "tidak memenuhi tujuan."
Memutuskan teknologi yang baik atau buruk Adalah perlu untuk membezakan antara dua perkara utama:
-
Teknologi yang "Tidak berfungsi": ialah teknologi yang gagal mencapai matlamat yang ditetapkan dalam reka bentuknya sendiri, mis.
Bahasa yang direka untuk kelajuan. Tetapi ia berfungsi dengan ketara lebih perlahan daripada pesaing-
Rangka kerja yang mendakwa dapat meningkatkan produktiviti tetapi mempunyai keluk pembelajaran yang terlalu tinggi-
Sistem yang mementingkan keselamatan Tetapi terdapat kecacatan yang serius-
-
Teknologi yang "tidak memenuhi keperluan sistem nilai": ialah teknologi yang berfungsi sebaik ia direka bentuk. Tetapi apa yang diutamakan tidak sepadan dengan keperluan kita, seperti
- Bahasa berfokuskan prestasi, tetapi kami memerlukan lebih kelajuan pembangunan
- Rangka kerja yang sangat fleksibel. Tetapi kami mahukan kesederhanaan dalam penyelenggaraan
- Alat yang menekankan keselamatan maksimum. Tetapi kita memerlukan kepantasan dalam pembangunan
Kajian kes: Go vs Rust
Contoh jelas perbezaan dalam Sistem Nilai ialah perbandingan antara Go dan Rust:
Go: Sistem Nilai yang menekankan Produktiviti Pembangun
- Direka bentuk supaya mudah dipelajari
- Penekanan pada kesederhanaan bahasa
- Fokus untuk bekerja dalam pasukan yang besar
- Sesuai untuk pembangun dengan pelbagai tahap pengalaman
- Mengorbankan beberapa ciri untuk mengurangkan keluk pembelajaran
Karat: Sistem Nilai yang menekankan Prestasi dan Keselamatan
- Fokus pada kecekapan pada peringkat pengaturcaraan sistem
- Fokus pada keselamatan pengurusan memori
- Terdapat sistem jenis yang ketat
- Membenarkan keluk pembelajaran yang tinggi sebagai pertukaran untuk keselamatan dan kecekapan
Kedua-dua Go dan Rust bukanlah "buruk" dalam cara mereka direka, tetapi mereka mempunyai sistem nilai yang sangat berbeza
Konteks perniagaan dan pemilihan teknologi
Memilih teknologi harus menganggap konteks perniagaan sebagai penting:
Kes permulaan
- Memerlukan masa ke pasaran yang pantas
- Sumber terhad untuk mengupah pembangun
- Boleh berdagang prestasi untuk kelajuan pembangunan
- Bajet infrastruktur Ia mungkin bukan had utama
Dalam kes organisasi besar
- Mesti mempertimbangkan kos jangka panjang
- Mempunyai pasukan pembangun yang besar dan pelbagai
- Memerlukan konsistensi dalam pembangunan
- Prestasi sistem mempunyai kesan yang tinggi terhadap kos
Melarikan diri daripada perangkap Sistem Nilai
Pembangun yang berpengalaman sering terjebak dalam perangkap sistem nilai biasa mereka sendiri. Terdapat beberapa cara untuk melepaskan diri dari perangkap ini:
-
Buka minda anda untuk mempelajari tentang konteks yang berbeza
- Kaji kajian kes daripada organisasi yang berbeza dari segi saiz dan sifat daripada apa yang kita biasa
- Bercakap dengan pembangun yang bekerja dalam konteks yang berbeza
-
Berlatih melihat masalah dari pelbagai sudut
- Pertimbangkan kebaikan dan keburukan setiap pilihan dalam pelbagai konteks
- Jangan tergesa-gesa membuat kesimpulan bahawa kaedah pilihan kami sentiasa yang terbaik
-
Fahami asal usul reka bentuk
- Kaji sebab dan motivasi di sebalik reka bentuk pelbagai teknologi
- Fahami bahawa setiap reka bentuk mempunyai pertukaran
Kesimpulan
Memahami dan menerima kepelbagaian Sistem Nilai dalam pembangunan perisian adalah penting untuk setiap pembangun. Tiada teknologi "terbaik" dalam setiap keadaan. Memilih teknologi yang betul bergantung pada pemahaman konteks, matlamat dan batasan setiap situasi
Perbincangan teknologi harus menumpukan pada pertukaran pandangan tentang Sistem Nilai yang berbeza. Sebaliknya, penilaian tentang perkara yang baik atau buruk dibuat tanpa konteks. Kerana memahami perbezaan ini akan membantu kami mereka bentuk dan membangunkan sistem yang lebih memenuhi keperluan pengguna
Atas ialah kandungan terperinci Memahami Sistem Nilai dalam Pemilihan Teknologi: Perspektif Lebih Daripada Sekadar Baik atau Buruk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!