Alur kerja Delphi yang baik itu sederhana. Buka folder proyek, minta satu perubahan, baca diff, dan jalankan perintah build Anda. Arraydeck mengikuti alur ini dengan alat nyata, sehingga setiap langkah meninggalkan kartu di obrolan yang dapat Anda periksa, mulai dari pencarian pertama hingga kode keluar terakhir. Tidak ada yang disembunyikan di balik ringkasan. Jika ada langkah yang terlihat salah, Anda menghentikan alur di sana, menolak perubahan, dan memfrase ulang permintaan, dan file tetap seperti sebelumnya. Empat langkah yang sama berlaku untuk unit kecil maupun proyek dengan banyak formulir. Pemula dan pemelihara berpengalaman sama-sama dapat memulai dengan pencarian baca-saja, karena itu tidak mengubah file apa pun dan tetap menunjukkan struktur proyek.
01
Buka folder
Pilih folder yang berisi file .dpr dan .pas Anda sebagai folder kerja obrolan. Alat file bekerja di dalamnya, jadi pilih proyek yang ingin Anda ubah, bukan folder induk dengan pekerjaan yang tidak terkait. Folder induk dengan banyak proyek membuat pencarian pertama lebih sulit dibaca dan meningkatkan risiko mengedit unit yang salah.
02
Jelaskan satu perubahan
Tulis satu tugas dengan kata-kata sederhana, seperti nama prosedur dan apa yang harus diubah, lalu pilih Auto-run, Ask first, atau Plan only sebelum mengirimkannya. Tugas kecil menghasilkan diff kecil yang mudah dibaca. Sebutkan unit ketika Anda mengetahuinya; agen dapat menemukannya dengan glob, tetapi unit bernama mempersempit pencarian pertama.
03
Baca diff
Perluas kartu edit_file, baca setiap baris yang ditambahkan dan dihapus, lalu terima atau tolak perubahan tersebut. Jika Anda menggunakan Plan only, baca rencana terlebih dahulu dan beralih ke Ask first untuk melaksanakannya langkah demi langkah. Diff yang sangat panjang berarti tugasnya terlalu besar, jadi tolak dan pecah permintaan menjadi dua yang lebih kecil.
04
Build dan uji
Biarkan Shell menjalankan perintah build dan perintah uji Anda, lalu baca kode keluar yang sebenarnya di kartu. Build yang berhasil adalah tanda yang baik, tetapi hanya pengujian Anda sendiri yang memberi tahu apakah perilaku masih benar. Jalankan build sebelum pengujian, dan biarkan kedua kartu tetap terbuka sehingga kegagalan dapat dilacak ke satu perubahan.
Unit kecil untuk dipraktikkan
Arraydeck · Unit baru● Ask first
Buat Greeter.pas dengan fungsi Greet dan periksa apakah proyek berhasil di-build.
list_dir.6 entri
write_fileGreeter.pasdisimpan
read_fileGreeter.pasdibaca
Shellbuild.batexit 0
menunggu persetujuan Anda sebelum melanjutkanTolakTerima
Greeter.pas
unit Greeter;
interface
function Greet(const Name: string): string;
implementation
function Greet(const Name: string): string;
begin
if Name = '' then
Result := 'Hello, guest'
else
Result := 'Hello, ' + Name;
end;
end.
Greet menerima nama dan mengembalikan ucapan. Ketika nama kosong, ia menjawab Hello, guest; jika tidak, ia menggabungkan nama dengan teks, dan Result memegang nilai balik fungsi. Bagian interface mengumumkan fungsi tersebut, dan bagian implementation berisi kodenya, yang merupakan struktur setiap unit.
Empat tugas untuk memelihara perangkat lunak Delphi
Temukan tempat pengaturan disimpan
Pemula yang sedang mempelajari Delphi sering bertanya di mana nilai disimpan di disk. Minta Arraydeck untuk menemukan tempat pengaturan ditulis. Agen menjalankan grep untuk nama pengaturan di seluruh file .pas Anda, lalu read_file membuka unit yang sesuai dan jawabannya muncul di obrolan dengan nama file dan baris. Tidak ada yang berubah. Buka unit di editor Anda sendiri untuk mengonfirmasi bahwa prosedur itu adalah yang Anda maksud, dan catat nama file sebelum Anda meminta edit. Pencarian baca-saja ini adalah permintaan pertama yang baik untuk proyek apa pun yang tidak Anda tulis sendiri. Tuliskan file dan baris sebelum Anda meminta edit apa pun, karena nama file dan nomor baris yang tepat membuat permintaan berikutnya singkat dan diff berikutnya mudah diikuti oleh siapa pun yang membaca proyek Anda setelah Anda.
Tambahkan try finally di sekitar objek
Minta handler yang lebih aman: temukan prosedur yang membuat objek dan pastikan objek itu dilepaskan. Agen mencari dengan grep, membaca unit, dan mengusulkan perubahan dengan edit_file, membungkus kode dalam try ... finally ... Free. Di Ask first, diff muncul dan tidak ada yang ditulis sampai Anda menerimanya. Kemudian Shell menjalankan perintah build Anda, dan kartu menampilkan kode keluar yang sebenarnya. Jalankan juga pengujian Anda. Build yang berhasil membuktikan hanya sintaksis, bukan bahwa objek dilepaskan di setiap jalur, jadi baca diff dengan hati-hati. Jalankan pengujian sekali lagi setelah Anda menerima diff, dan simpan versi lama unit di cadangan atau kontrol versi Anda sendiri sampai Anda yakin bahwa handler masih melepaskan setiap objek di setiap cabang.
Ubah nama prosedur di mana-mana
Begini cara memodernisasi aplikasi Delphi secara bertahap: ubah nama prosedur yang tidak jelas, satu nama sekaligus. Minta agen untuk mengubah namanya di setiap unit. Ia menggunakan grep untuk mencantumkan setiap tempat nama itu muncul, lalu edit_file mengubah setiap file, dan diff menunjukkan setiap baris yang berubah. Ubah nama sekali. Tinjau semua diff bersama-sama, karena kata yang cocok di dalam string atau komentar belum tentu merupakan panggilan, lalu build proyek dan jalankan pengujian Anda sebelum menerima file terakhir. Ulangi pengubahan nama untuk prosedur berikutnya hanya ketika build dan pengujian berhasil, sehingga kesalahan selalu berada di diff kecil dan tidak pernah tersembunyi di dalam daftar panjang perubahan yang tidak terkait di banyak unit.
Jelaskan loop baris demi baris
Logika segitiga Pascal yang dijelaskan dalam unit pendek membuat permintaan praktik yang layak. Minta agen untuk membaca loop dan menggambarkan, baris demi baris, apa yang dimiliki setiap variabel di setiap iterasi. Ia memanggil read_file, lalu menjawab di obrolan tanpa menulis apa pun, sehingga Plan only sudah cukup. Periksa penjelasan dengan menjalankan unit itu sendiri melalui perintah build Anda dan dengan mengikuti loop di kertas selama 3 atau 4 baris. Jika agen dan program tidak setuju, percayai program dan ajukan pertanyaan lagi dengan baris yang dikutip secara tepat. Lakukan hal yang sama untuk loop kedua jika jawaban pertama membantu, dan minta penjelasan yang lebih singkat ketika paragraf terasa panjang, karena Anda selalu dapat meminta lebih banyak detail pada baris yang membingungkan Anda.