Ketika saya pertama kali mulai belajar PHP (sekitar 5 atau 6 tahun yang lalu) saya belajar tentang Ajax , dan saya melalui "fase-fase":
- Server Anda mengembalikan data HTML dan Anda memasukkannya ke dalam DHT's innerHTML
- Anda belajar tentang format transfer data seperti XML (dan katakan "oooh jadi ITULAH untuk apa itu digunakan) dan kemudian JSON.
- Anda mengembalikan JSON dan membangun UI Anda menggunakan kode JavaScript vanilla
- Anda pindah ke jQuery
- Anda belajar tentang API, header, kode status HTTP, REST , CORS dan Bootstrap
- Anda belajar SPA , dan kerangka kerja frontend ( React , Vue.js , dan AngularJS ) dan standar API JSON.
- Anda menerima beberapa kode warisan perusahaan dan setelah memeriksanya, temukan bahwa mereka melakukan apa yang dijelaskan pada langkah 1.
Ketika saya bekerja dengan basis kode warisan ini, saya bahkan tidak menganggap itu bisa mengembalikan HTML (maksud saya, kami adalah profesional sekarang, kan?), Jadi saya kesulitan mencari titik akhir JSON yang mengembalikan data yang panggilan Ajax mengisi. Baru setelah saya bertanya kepada "programmer" dia mengatakan kepada saya bahwa itu mengembalikan HTML dan ditambahkan langsung ke DOM dengan innerHTML.
Tentu saja, ini sulit diterima. Saya mulai memikirkan cara untuk memperbaiki ini menjadi titik akhir JSON, berpikir tentang unit yang menguji titik akhir dan seterusnya. Namun, basis kode ini tidak memiliki tes. Bukan satu pun. Dan itu lebih dari 200 ribu baris. Tentu saja salah satu tugas saya termasuk mengusulkan pendekatan untuk menguji semuanya, tetapi saat ini kami belum mengatasinya.
Jadi saya di mana saja, di sudut, bertanya-tanya: jika kita tidak memiliki tes apa pun, jadi kita tidak punya alasan khusus untuk membuat titik akhir JSON ini (karena itu tidak "dapat digunakan kembali": itu benar-benar mengembalikan data yang hanya cocok pada bagian dari aplikasi, tapi saya pikir ini sudah tersirat karena ... mengembalikan data HTML).
Apa sebenarnya yang salah dengan melakukan ini?