Bagaimana membedakan antara perangkat lunak sepele dan non-sepele? [Tutup]


11

Jadi apa yang membuat program itu sepele?

'Kecuali perangkat lunaknya yang sepele' sering digunakan dalam diskusi pemrograman. Saya merasa sangat samar dalam arti bahwa saya tidak dapat benar-benar mengetahui apakah 'sesuatu itu penting karena perangkat lunak non-sepele' atau 'perangkat lunak non-sepele karena sesuatu telah menjadi sangat penting'.

Sebagai contoh, banyak kali pada pertanyaan pengujian unit, saya mendengar 'kecuali jika sepele Anda perlu unit test'.


9
Menilai oleh beberapa programmer saya telah bekerja dengan, saya akan mengatakan bahwa bagi mereka perbedaan turun menjadi "kode Anda sepele; kode saya tidak".
PSU

Bisakah Anda memberikan diskusi pemrograman di mana Anda melihat kutipan ini digunakan? Tampaknya ada perbedaan interpretasi dalam jawaban.
Steven Jeuris

Periksa pertanyaan yang diperbarui.
NVM

Jawaban:


12

Saya akan mengambil risiko di sini dan berkata:

Program sepele adalah program yang tidak berdampak langsung pada bisnis.

Perusahaan manufaktur akan menganggap sepele perangkat lunak akuntingnya, tetapi perangkat lunak yang mengontrol lengan robot yang menggerakkan baja mendidih sangat penting. Mereka dapat menangani bug dan turnaround dukungan rendah di yang pertama, tetapi bukan yang terakhir. Jika ada masalah, mereka perlu memperbaikinya sekarang .


Meskipun, jawaban lain memiliki lebih banyak poin, saya suka jawaban ini terbaik. Saya mengajukan pertanyaan karena saya tidak sepenuhnya yakin apakah pekerjaan yang saya lakukan itu sepele atau tidak dan ini adalah cara yang pasti untuk mencari tahu apakah itu dianggap sepele oleh 'bisnis' atau tidak. Misalnya perangkat lunak sepele bisa lolos tanpa pengujian unit dan itu tidak benar-benar tergantung pada baris kode atau kompleksitas. Yang penting adalah apakah itu penting untuk bisnis atau tidak.
NVM

+1, Poin bagus. Tuan Perusahaan terkadang memiliki ide yang sangat berbeda tentang apa yang dianggap sebagai "sepele". Saya telah menambahkan beberapa jawaban untuk mencerminkan hal ini.
FrustratedWithFormsDesigner

+1 - Saya pikir jawaban ini paling tepat menggambarkan konteks istilah seperti yang diterapkan dalam pertanyaan. "Jawaban poin lebih tinggi" lainnya akurat, tetapi hanya dalam konteks umum. Saya yakin yang satu ini akan melampaui itu dalam suara seperti yang dipertimbangkan.
Joel Etherton

2
Ketika pengembang perangkat lunak mengatakan sepele mereka biasanya merujuk pada kompleksitas perangkat lunak, bukan dampak bisnis. Skrip yang menyalin beberapa file dari A ke B akan sepele, tetapi mungkin masih berdampak langsung pada bisnis jika tidak berfungsi.
JacquesB

16

Saya percaya maksud paling umum dari pernyataan itu adalah agar suatu program memiliki karakteristik sebagai berikut:

  • Ini kecil.
  • Seumur hidup yang singkat.
  • Tidak perlu perpanjangan lebih lanjut.
  • Hanya satu pengembang.

2
+1, semua ini sangat penting. Sayangnya, di dunia dengan persyaratan yang terus berubah, Anda kadang-kadang harus mengembangkan perangkat lunak "sepele" di luar masa normalnya.
l0b0

1
Kecil dalam hal LOC, kecil dalam hal ukuran biner yang dikompilasi, kecil dalam hal waktu yang dibutuhkan untuk mengembangkannya? Juga, saya berpendapat bahwa masa hidup pendek tidak berarti sepele dan sepele tidak berarti masa hidup singkat. Saya telah melihat kasus di mana perangkat lunak dengan liftime hanya 6 bulan dalam pengembangan setidaknya dua kali lebih lama dan merupakan sistem jembatan yang penting. Saya telah melihat sistem konversi data yang digunakan tepat sekali, tetapi sedang dalam pengembangan selama lebih dari setahun dan jauh dari sepele. Dan program-program sepele seperti Minesweeper tampaknya memiliki rentang hidup yang sangat panjang.
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner: kecil seperti pada, ofcourse 100x100px jendela. ; p Maksudku, kecil seperti dalam baris kode yang harus ditulis, yang sebanding dengan waktu yang dibutuhkan untuk mengembangkannya. Umur tidak penting, Anda benar, tetapi sering kali merupakan karakteristik ketika mendiskusikan pendekatan yang lebih maju vs pendekatan sederhana.
Steven Jeuris

Saya tidak setuju bahwa LOC rendah selalu menyiratkan sepele. Terkadang bagian paling rumit dari suatu program, bagian tersulit untuk dikerjakan dengan benar, algoritma paling rumit, cocok dengan <20 Lines Of Code. Dan sebuah program yang sebagian besar terdiri dari ratusan baris getter / setter yang dihasilkan secara otomatis - apakah itu non-sepele meskipun itu bahkan tidak memerlukan pengembang untuk membuatnya?
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner: Saya percaya Anda memiliki interpretasi yang berbeda dari pertanyaan daripada saya. Jawaban saya terkait dengan fakta untuk memutuskan solusi sepele vs yang kompleks. Jawaban Anda terkait dengan masalah 'sulit' vs 'mudah' untuk dipecahkan. Mungkin pertanyaan OP harus diklarifikasi sedikit.
Steven Jeuris

14

Dengan membuangnya sepenuhnya, binari dan sumber. Jika seseorang memperhatikan, itu tidak sepele.


6
+1 Itu membuat saya tertawa dan itu juga masuk akal.
NVM

8

Sepele adalah ...

  • sesuatu yang sudah ada, jadi mengapa menemukan kembali roda?
  • sesuatu yang dapat dengan mudah dibangun dengan baik menulis beberapa program lain bersama-sama atau menulis kode kecil yang banyak menggunakan perpustakaan yang ada yang melakukan apa yang perlu dilakukan.
  • sesuatu yang rata-rata dapat dilakukan oleh mahasiswa sarjana CS sebagai tugas pekerjaan rumah kecil hingga menengah.
  • sesuatu yang memiliki persyaratan terperinci yang dapat dengan mudah dipasang di serbet koktail.
  • sesuatu yang Anda dapat kode sambil terganggu / mabuk / di waktu luang potongan 4 atau 5 menit.
  • sesuatu yang bisa dibuat dengan alat penghasil kode sederhana.

Di lingkungan perusahaan, saya akan menambahkan ini:

  • sesuatu yang Pengguna Bisnis tidak keberatan menunggu beberapa saat untuk diperbaiki.
  • sesuatu yang digunakan secara internal yang tidak memiliki dukungan resmi dari IT.
  • sesuatu yang diprioritaskan di antara prioritas terendah oleh Bisnis, ketika melakukan perencanaan dan penjadwalan sumber daya.

4

Saya akan mendefinisikan program sepele sebagai salah satu yang cukup dapat dikodekan:

  • Dalam sekali duduk.
  • Sebagai file / modul tunggal (dengan asumsi Anda tidak pemrograman di Java atau bahasa yang memaksa pemisahan modul yang sangat halus).
  • Oleh programmer "jack of all trade" yang layak, bukan spesialis.

3

Berikut adalah contoh program "sepele" saya:

  1. Proyek "dummy" yang saya siapkan dan mulai mengkodekan agar saya dapat mencoba teknologi atau kode contoh. Tidak ada niat untuk digunakan atau bahkan ditunjukkan kepada siapa pun.
  2. Kode demo ditulis untuk presentasi teknis.
  3. A "satu kali". Maksud saya aplikasi cepat yang harus saya bangun untuk digunakan sekali, karena itu adalah situasi data yang aneh yang harus dipindahkan dengan cara tertentu, atau sesuatu yang kemudian akan segera diganti oleh sesuatu yang lebih permanen.

3

Perangkat lunak Trival tidak ada, itu adalah ketika Anda mendengar persyaratan dan hal yang akan menjadi trival ketika pada kenyataannya itu selalu non-trival

Berikut adalah kutipan yang saya lihat di Usenet satu dekade yang lalu, bahkan lebih relevan sekarang.

Kompleksitas Solusi Perangkat Lunak berbanding terbalik dengan kompleksitas penjelasan tentang apa yang harus dilakukan. - Tidak dikenal


-1

Sebuah program yang hanya sekelompok metode pengambil / penyetel saja. Tidak ada logika pemrograman. Mungkin sesuatu dengan beberapa putaran.

Itu definisi saya tentang hal sepele.


-1

Definisi kerja kami adalah "sesuatu yang tidak bergantung pada apa pun."

Sayangnya ada beberapa prototip sepele yang menjadi produk produksi non-sepele.


-3

Saya juga mendengarnya digunakan dalam konteks dampak program pada perencanaan proyek secara keseluruhan. Jika spesifikasi tertentu tidak mengubah timeline pengiriman produk, itu jatuh di bawah label sepele.

Saya kenal seorang programmer yang cenderung menggunakan "sepele" sebagai sinonim untuk "Bahkan tidak layak dibahas".

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.