OOP sering dianggap sebagai strategi yang efektif untuk mengelola kompleksitas dalam perangkat lunak, yang bertentangan dengan pemrograman prosedural non-OOP.
Pernahkah ada penelitian yang menguji gagasan ini? Apakah terbukti bahwa OOP sering membantu mengelola kompleksitas dalam proyek-proyek besar?
object-oriented
case-studies
Aviv Cohn
sumber
sumber
Jawaban:
Saya tidak mengetahui adanya penelitian dengan pengukuran kuantitatif. Seperti yang disebutkan orang lain dalam komentar atas pertanyaan Anda, praktis tidak mungkin untuk mencapainya. Namun ada beberapa makalah filosofis yang mencoba menjawabnya.
Makalah favorit saya tentang topik itu adalah Out of the Tar Pit oleh Ben Moseley & Peter Marks . Itu beralasan dengan berbagai pernyataan dari sumber terhormat tentang desain sistem yang kompleks untuk hasil yang cukup menarik.
Out of the Tar Pit menyimpulkan bahwa pemrograman fungsi sebenarnya adalah paradigma terbaik untuk mendukung solusi yang mereka usulkan. Yang masuk akal, karena dalam pengalaman saya, sistem OOP yang kompleks menjadi sangat dekat dengan prosedural dari waktu ke waktu dan prosedural mulai terlihat seperti OOP (mereka tidak memiliki sintaks dan atribut lainnya, tetapi aliran eksekusi mungkin menjadi sangat mirip). Perbedaan nyata datang dengan paradigma yang berbeda atau dengan menggabungkannya dengan OOP. Saat ini, paradigma tersebut adalah pemrograman fungsional yang akhirnya menjadi dapat digunakan dalam aplikasi bisnis umum oleh programmer umum (masih sampai di sana).
sumber
Ya ada beberapa penelitian. Inilah satu: http://www.csm.ornl.gov/~v8q/Homepage/Papers%20Old/spetep-%20printable.pdf
Pada dasarnya disimpulkan bahwa tidak ada perbedaan yang terukur antara produktivitas kode prosedural dan produktivitas bahasa OO .... tetapi kenyataannya adalah, jenis pertanyaan ini sangat peka konteks, tidak ada penelitian yang akan memberi tahu Anda apa yang harus Anda lakukan dalam situasi tertentu .
sumber