All Products
Search
Document Center

AI Coding Assistant Lingma:Praktik terbaik untuk basis pengetahuan sebagai konteks untuk penyelesaian kode

Last Updated:Jun 28, 2025

Lingma memberikan analisis kontekstual berdasarkan basis pengetahuan untuk penyelesaian kode. Saat pengembang menggunakan Lingma, alat ini menggabungkan repositori kode yang diunggah perusahaan sebagai konteks. Hal ini memastikan bahwa penyelesaian kode lebih sesuai dengan standar pengkodean perusahaan dan karakteristik bisnisnya. Topik ini menjelaskan cara membangun repositori kode perusahaan berkualitas tinggi untuk administrator serta memberikan praktik terbaik bagi pengembang backend dan frontend.

Edisi dan bahasa yang didukung

Edisi

Backend

Frontend

Enterprise Dedicated Edition

Java, C#, C/C++, Go, Python

JavaScript, TypeScript, Vue, React

Untuk Administrator: Cara membangun repositori kode perusahaan berkualitas tinggi

Untuk memastikan data kode Anda diproses dengan baik, ikuti petunjuk berikut untuk menyiapkan repositori kode Anda. Ini membantu membuat pengambilan lebih cepat dan akurat.

Panduan untuk pemilihan dan persiapan repositori kode

Bagian ini mencakup dua skenario persiapan repositori kode:

Skenario 1: Meningkatkan efisiensi dalam pengembangan harian Anda

Gunakan beberapa repositori kode selama pengembangan perusahaan untuk meningkatkan kinerja pengambilan. Ini membantu Anda menemukan kode dengan cepat, menggunakannya kembali dengan mudah, dan bekerja secara efisien. Berikut adalah panduannya:

Skema backend
  • [Direkomendasikan] Pilih Potongan Kode atau File Frekuensi Tinggi: Pilih potongan kode yang sering muncul atau digunakan kembali dalam proyek saat ini. Potongan ini sangat dapat digunakan kembali dan cocok untuk dimasukkan ke dalam basis pengetahuan. Organisasikan potongan ini ke dalam repositori terpisah dan unggah ke basis pengetahuan terpisah untuk kemudahan manajemen dan pengambilan.

  • Kode Proyek Saat Ini: Anda juga dapat mengunggah seluruh proyek saat ini ke basis pengetahuan untuk pengambilan menyeluruh. Ini meningkatkan penggunaan kembali kode dan efisiensi pengembangan. Namun, jika proyek berisi kode yang mengganggu atau berkualitas rendah, ini dapat memengaruhi kinerja penyempurnaan penyelesaian kode.

Skema frontend
Penting

Unggah repositori kode yang menggunakan pustaka komponen alih-alih repositori kode sumber komponen. Pastikan repositori tersebut mencakup sebanyak mungkin skenario penggunaan.

  • [Direkomendasikan] Repositori Kode Halaman Template Frontend: Rakit komponen kustom perusahaan menjadi template untuk halaman frontend yang sangat dapat digunakan kembali, seperti halaman logon, registrasi, tampilan akun, dan transfer dana. Jika perusahaan Anda memiliki pustaka template, kami sarankan untuk mengunggahnya ke basis pengetahuan kode perusahaan.

  • Repositori Kode Proyek Saat Ini: Unggah kode proyek yang terstruktur dengan baik dan berkualitas tinggi ke basis pengetahuan perusahaan untuk pengambilan menyeluruh. Kode berkualitas rendah atau mengganggu dalam repositori dapat memengaruhi kinerja penyelesaian kode.

Skenario 2: Memastikan konsistensi kode dan mengurangi pengembangan berulang dalam skenario bisnis tertentu

Saat membangun aplikasi tingkat perusahaan, pastikan aturan bisnisnya sama agar sistem tetap stabil dan mudah dirawat. Jika tidak ada standar umum, pengembang yang berbeda mungkin menggunakan metode yang berbeda. Ini dapat menyebabkan aturan bisnis yang berbeda, membuat kode lebih sulit diperbaiki, dan melemahkan stabilitas sistem.

Berikut adalah beberapa kasus penggunaan dari skenario bisnis tertentu:

Kasus 1: Penggunaan kembali logika kerangka kerja dan middleware perusahaan

Sebuah perusahaan memerlukan mekanisme kunci terdistribusi yang terpadu untuk sistem manajemen inventarisnya. Hal ini dapat dilakukan dengan mengintegrasikan kerangka kerja bisnis ke dalam basis pengetahuan kode mereka. Pengembang kemudian dapat dengan mudah menggunakan potongan kode ini saat menulis kode baru di IDE mereka. Ini meningkatkan efisiensi pengembangan, mengurangi pengembangan berulang, meningkatkan kualitas kode, dan memastikan konsistensi logika bisnis.

Berikut adalah beberapa tips untuk memilih dan menyiapkan repositori kode:

Tentukan kebutuhan bisnis dan implementasi yang diperlukan:

  • Identifikasi modul bisnis utama yang memerlukan implementasi seragam dalam sistem Anda, seperti kontrol inventaris, pemrosesan pesanan, dan sistem pembayaran.

  • Tetapkan cara menangani skenario bisnis tertentu: Misalnya, sistem inventaris memiliki tugas berbeda seperti mengurangi stok, memeriksa tingkat stok, dan mengunci stok, dan setiap tugas memerlukan mekanisme implementasi yang berbeda.

Pilih file kode untuk kerangka kerja bisnis dan unggah ke basis pengetahuan kode:

  • Filter kerangka kerja bisnis untuk menemukan kode inti yang menangani logika bisnis utama, organisasikan, dan unggah ke basis pengetahuan kode terpisah. Misalnya, jika penguncian terdistribusi diperlukan untuk menjaga keamanan saat diperbarui, temukan kode utama yang mengimplementasikan penguncian ini.

    /**
     * Gunakan mekanisme kunci terdistribusi yang dikembangkan perusahaan untuk mengimplementasikan kontrol konkurensi
     */
    @Service
    public class InventoryService {
        
        @Autowired
        private DistributedLockFramework lockFramework;
        
        @Autowired
        private InventoryRepository inventoryRepository;
        
        /**
         * Gunakan mekanisme kunci terdistribusi untuk memastikan keamanan konkurensi selama pengurangan inventaris
         * @param productId, yang menentukan ID produk.
         * @param quantity, yang menentukan jumlah pengurangan.
         * @return, yang menentukan apakah pengurangan berhasil.
         */
        public boolean deductInventory(Long productId, int quantity) {
            String lockKey = "inventory:" + productId;
            return lockFramework.withLock(lockKey, 30, TimeUnit.SECONDS, () -> {
                Inventory inventory = inventoryRepository.findByProductId(productId);
                if (inventory == null || inventory.getQuantity() < quantity) {
                    return false;
                }
                inventory.setQuantity(inventory.getQuantity() - quantity);
                inventoryRepository.save(inventory);
                return true;
            });
        }
    }
Kasus 2: Penggunaan kembali logika bisnis inti perusahaan

Sebuah perusahaan ingin menetapkan kebijakan rekomendasi personalisasi tunggal untuk produk-produknya. Dalam hal ini, Anda dapat mengintegrasikan kerangka bisnis yang dikembangkan perusahaan ke dalam basis pengetahuan kode perusahaan. Kemudian, pengembang dapat dengan mudah mengingat kembali dan menggunakan kembali potongan kode standar saat mereka menulis logika bisnis di IDE. Hal ini meningkatkan efisiensi pengembangan, mengurangi pengembangan berulang, meningkatkan kualitas kode, serta memastikan konsistensi dan stabilitas logika bisnis.

Berikut adalah beberapa tips untuk memilih dan menyiapkan repositori kode:

Tentukan modul bisnis yang diperlukan dan implementasinya:

  • Identifikasi modul bisnis utama: Temukan bagian-bagian bisnis Anda yang memerlukan implementasi seragam dalam sistem Anda, seperti sistem rekomendasi komoditas.

  • Tentukan tindakan bisnis dan langkah-langkah utama. Misalnya, kebijakan rekomendasi personalisasi mencakup langkah-langkah berikut: kumpulkan data perilaku pengguna, tentukan fitur minat pengguna, dapatkan daftar produk yang mungkin, skor dan rangking produk tersebut, dan tampilkan pilihan teratas. Anda dapat menggunakan kode yang telah ditulis sebelumnya untuk mengimplementasikan langkah-langkah ini.

Pilih file kode untuk kerangka kerja bisnis dan unggah ke basis pengetahuan kode:

  • Temukan kode utama yang menangani logika bisnis utama, organisasikan, dan unggah ke basis pengetahuan kode terpisah. Berikut adalah contoh kebijakan rekomendasi personalisasi:

    /**
     * Layanan mesin rekomendasi
     * Implementasikan rekomendasi personalisasi berdasarkan perilaku pengguna dan fitur komoditas
     */
    @Service
    public class RecommendationService {
        
        @Autowired
        private UserBehaviorRepository userBehaviorRepo;
        
        @Autowired
        private ProductRepository productRepo;
        
        /**
         * Hasilkan daftar rekomendasi untuk pengguna tertentu
         * @param userId, yang menentukan ID pengguna.
         * @param limit, yang menentukan jumlah maksimum komoditas yang dapat direkomendasikan.
         * @return, yang menentukan ID komoditas yang direkomendasikan.
         */
        public List generateRecommendations(Long userId, int limit) {
            // Dapatkan data perilaku pengguna
            List behaviors = userBehaviorRepo.findRecentByUserId(userId, 100);
            
            // Ekstrak fitur minat pengguna
            Map userInterests = extractUserInterests(behaviors);
            
            // Dapatkan kolam komoditas kandidat
            List candidateProducts = productRepo.findRecentlyActive(1000);
            
            // Hitung dan rangking skor komoditas
            List scoredProducts = candidateProducts.stream()
                .map(product -> new ScoredProduct(product, calculateScore(product, userInterests)))
                .sorted(Comparator.comparing(ScoredProduct::getScore).reversed())
                .collect(Collectors.toList());
            
            // Kembalikan komoditas dengan skor tertinggi
            return scoredProducts.stream()
                .limit(limit)
                .map(sp -> sp.getProduct().getId())
                .collect(Collectors.toList());
        }
        
        // Metode bantu lainnya
    }
Penting

Tambahkan komentar pada fungsi utama kode. Ini membantu pengembang mengingat potongan kode saat mereka menulis kode di IDE.

Kasus 3: Referensi proyek yang ada untuk meningkatkan efisiensi proyek baru

Ketika sebuah perusahaan memulai proyek baru, perusahaan tersebut dapat menggunakan kode dari modul inti yang serupa dalam proyek yang sudah ada. Hal ini menghemat waktu dan biaya, serta membuat proyek baru menjadi lebih baik dan lebih stabil.

Berikut adalah beberapa tips untuk memilih dan menyiapkan repositori kode:

Identifikasi modul bisnis utama berdasarkan kebutuhan bisnis dan skenario:

  • Identifikasi fungsi atau metode serupa. Misalnya, jika proyek baru dan lama memiliki fungsi seperti manajemen pengguna, tampilan komoditas, dan pemrosesan pesanan, daftarkan modul terkait.

  • Periksa kualitas kode: Pastikan kode proyek yang ada telah sepenuhnya diuji dan stabil serta andal. Hapus file dan konfigurasi ekstra untuk menjaga kode tetap bersih dan mudah digunakan.

Tentukan tindakan bisnis spesifik dan tindakan inti:

  • Ekstrak fungsi inti: Dari proyek yang ada, ekstrak kode modul fungsional utama yang dapat digunakan kembali. Contohnya:

    • Manajemen pengguna: pendaftaran pengguna, logon, dan modifikasi informasi

    • Tampilan komoditas: daftar komoditas, halaman detail, dan fungsi pencarian

    • Pemrosesan pesanan: pemesanan, penanganan pembayaran, dan pembaruan status pesanan

Penting

Tambahkan komentar pada fungsi utama kode. Ini membantu pengembang mengingat potongan kode saat mereka menulis kode di IDE.

Pilih file kode kerangka kerja bisnis terkait dan unggah ke basis pengetahuan kode. Reorganisasi kode proyek yang ada menggunakan struktur modular. Ini memisahkan kode untuk tim berbeda yang bertanggung jawab atas modul spesifik dalam proyek baru. Buat repositori kode terpisah untuk setiap modul:

  • Isolasi basis pengetahuan kode: Unggah kode proyek yang ada ke basis pengetahuan yang tepat. Misalnya, unggah kode modul manajemen pengguna, tampilan komoditas, dan pemrosesan pesanan ke basis pengetahuan terpisah.

  • Manajemen izin: Atur izin sehingga hanya tim yang tepat yang dapat mengakses kode tertentu. Ini mencegah gangguan selama penyelesaian kode di IDE.

Spesifikasi file kode

  • Bahasa dan kerangka kerja yang didukung:

    • Backend: Java, Python, Go, C#, dan C/C++

    • Frontend: TypeScript, JavaScript, React, dan Vue

  • Batasan unggahan: Hanya file kode sumber yang dapat diunggah. Misalnya, unggah file .java untuk Java, file .cs untuk C#, dan file .js atau .jsx untuk JavaScript.

  • Hindari mengunggah yang berikut ini:

    • Data uji dan kode, seperti skrip uji, kasus uji, atau kode terkait uji yang tidak mengandung logika bisnis.

    • Metode mock, kecuali jika mengandung logika bisnis tertentu.

    • Artifak build:

      • Frontend: File yang dihasilkan oleh alat build seperti Webpack dan Gulp. File-file ini biasanya disimpan di direktori dist atau build.

      • Backend: File DLL yang dikompilasi dan semua output kompilasi lainnya.

  • Panduan komentar:

    • Tambahkan komentar rinci pada header fungsi.

    • Untuk membedakan fungsi, pastikan komentar informatif. Sesuaikan komentar berdasarkan template komentar atau spesifikasi perusahaan.

      /**
       * Perbarui status pesanan tertentu.
       *
       * @param orderId, yang menentukan ID unik pesanan.
       * @param newStatus, yang menentukan status baru pesanan.
       * @return boolean, yang menentukan apakah pembaruan berhasil.
       */
  • Konvensi penamaan fungsi:

    • Pastikan nama fungsi informatif.

    • Gunakan nama yang jelas dan deskriptif, seperti exportOrdersToPDF dan updateOrderStatus, bukan func1.

Panduan unggah

  • Kompres file ke format .zip, .gz, atau .tar.gz.

  • Pastikan setiap paket tidak lebih besar dari 100 MB.

Untuk Pengembang: Cara menggunakan basis pengetahuan sebagai konteks untuk penyelesaian kode

Skema backend

Komentar ke kode

Lingma dapat menghasilkan kode menggunakan komentar bahasa alami. Berikut adalah praktik terbaik untuk pengembangan backend:

  1. Unggah kode ke repositori kode perusahaan: Masukkan kode fungsional yang diperlukan ke dalam file terkompresi dan unggah ke repositori kode. Pastikan fungsi mengikuti spesifikasi komentar. Tambahkan komentar sebelum fungsi. Lihat Administrator: Bangun Repositori Kode Perusahaan Berkualitas Tinggi untuk detailnya. Ambil contoh komentar untuk algoritma Snowflake:

    /**
     * Gunakan algoritma Snowflake untuk menghasilkan ID unik
     * @param workerId
     * @return
    */
    public synchronized Long getSnowFlowerId(long workerId){
     long id = -1L;
    
     if (workerId < 0 || workerId > snowFlowerProperties.getMaxWorkerId()) {
        throw new IllegalArgumentException(
          String.valueOf("workerID must gte 0 and lte " + snowFlowerProperties.getMaxWorkerId()));
     }
    
     // Kode implementasi algoritma
     
    return id;
    }
  2. Masukkan komentar: Temukan kelas Java di IDE Anda dan tambahkan komentar yang sesuai dengan fungsi untuk diingat. Pastikan deskripsi jelas dan gaya konsisten.

    Gaya 1

    //Harap hasilkan kode yang menggunakan algoritma Snowflake untuk menghasilkan ID unik dan mengembalikan ID yang dihasilkan

    Gaya 2

    /**
     * Gunakan algoritma Snowflake untuk menghasilkan ID unik
     * @param wId
     * @return
    */

    Spesifikasi komentar:

    • Panjang komentar: Saat Anda menulis kode, jangan gunakan komentar pendek. Usahakan minimal 15 karakter. Jika komentar terlalu pendek, itu tidak akan memicu pengingatan.

    • Makna komentar: Pastikan komentar jelas dan akurat. Sertakan kata kunci dan deskripsi nilai pengembalian untuk membantu Lingma memahami kode Anda dengan lebih akurat.

    • Dukungan multi-bahasa: Komentar dalam bahasa Inggris dan Cina didukung. Bahasa yang digunakan dalam komentar repositori dapat berbeda dari yang digunakan dalam kode.

    • Nama parameter: Anda dapat menggunakan nama parameter fleksibel. Lingma akan menyesuaikannya untuk mencocokkan kode yang diingat.

    Berikut adalah beberapa contoh buruk:

    • //Algoritma Snowflake Masalah: Komentar terlalu pendek dan tidak cukup rinci.

    • //Hasilkan ID unik Masalah: Komentar kehilangan kata kunci, yang mungkin menyebabkan kebingungan.

  3. Generasi kode: Saat Anda menekan Enter pertama kali, Lingma menyarankan kode berdasarkan komentar Anda. Saat Anda menekannya lagi, Lingma melengkapi kode menggunakan repositori kode perusahaan.2024-09-12_18-11-55

Hasilkan kode menggunakan tanda tangan fungsi

  1. Unggah kode ke repositori kode perusahaan.

  2. Masukkan tanda tangan fungsi: Temukan kelas Java di IDE Anda dan masukkan tanda tangan fungsi terkait. Anda dapat menggunakan nama parameter fleksibel. Lingma akan mengubah parameter untuk mencocokkan kode yang diingat.

    public List nextList(String name, int size)

    Deskripsi tanda tangan fungsi:

    • Nama fungsi: Gunakan nama fungsi yang jelas dan bermakna untuk membantu mencocokkan makna serupa.

    • Parameter dan nilai pengembalian: Jenis dan urutan harus cocok dengan fungsi target, tetapi Anda dapat mengubah nama parameter. Lingma secara otomatis menyesuaikan parameter untuk mencocokkan kode yang diingat. Berikut adalah beberapa contoh nama parameter yang buruk:

      • public List func1(String name, int size): Nama fungsi tidak jelas dan tidak secara akurat mencerminkan fungsi.

      • public List nextList(int orderId): Jenis parameter dan nilai pengembalian tidak cocok dengan fungsi target.

  3. Penyelesaian kode: Setelah Anda menekan Enter pertama kali, Lingma memberikan saran penyelesaian kode. Setelah Anda menekannya lagi, Lingma secara otomatis melengkapi kode berdasarkan kode dalam repositori kode perusahaan.2024-09-12_18-14-531723624742377-2a4c12e5-bdb9-438b-8732-2d0e15fd0e10.gif

Skema frontend

Lengkapi kode komponen kustom frontend menggunakan tag

Lingma dapat menghasilkan kode menggunakan tag dalam komponen kustom frontend. Berikut adalah praktik terbaik:

  1. Unggah kode ke repositori kode perusahaan: Sebelum Anda mulai, pastikan semua kode untuk komponen frontend yang diperlukan diunggah ke repositori kode. Berikut adalah contoh kerangka kerja React:

    New
          }
          formItems={formItems}
          formRef={formRef}
          columns={columns}
          request={async (params, requestType) => {
            const res: Record = await apiGetUserList(params);
            return {
              data: res.data,
              total: res.total,
            };
          }}
    />
  2. Tulis kode komponen: Buka file .jsx di IDE Anda dan mulailah menulis kode. Gunakan tag HTML dasar atau tag komponen kustom, seperti <LTable />.

  3. Aktifkan penyelesaian kode: Setelah Anda mengetik cukup kode untuk memicu kecocokan dalam pustaka, IDE akan menghasilkan kode komponen lengkap untuk Anda. Anda juga dapat menekan Enter untuk menyelesaikan kode secara manual.2024-09-12_18-17-56

    Penting

    Picu penyelesaian kode dalam label komponen lengkap.

Komentar ke kode

Lingma dapat menghasilkan kode menggunakan komentar bahasa alami. Berikut adalah praktik terbaik:

  1. Unggah kode ke repositori kode perusahaan: Masukkan kode fungsional yang diperlukan ke dalam file terkompresi dan unggah ke repositori kode. Pastikan fungsi mengikuti spesifikasi komentar dan memiliki komentar di bagian atas. Lihat Administrator: Bangun Repositori Kode Perusahaan Berkualitas Tinggi untuk detailnya. Contoh:

    /**
     * Hasilkan objek dengan id sebagai nilai kunci berdasarkan pesan kesalahan
     * @param {Array} results
     * @return {Record}
    */
    function getErrObj(results) {
      // Kode implementasi fungsi
    }
  2. Masukkan komentar: Buka file JavaScript yang diperlukan di IDE Anda dan tambahkan komentar. Berikut adalah contohnya:

    //Hasilkan objek dengan id sebagai nilai kunci berdasarkan pesan kesalahan

    Spesifikasi komentar:

    • Panjang komentar: Saat Anda menulis kode, jangan gunakan komentar pendek. Usahakan minimal 15 karakter. Jika komentar terlalu pendek, itu tidak akan memicu pengingatan.

    • Makna komentar: Pastikan komentar jelas dan akurat. Sertakan kata kunci dan deskripsi nilai pengembalian untuk membantu Lingma memahami kode Anda dengan lebih akurat.

    • Dukungan multi-bahasa: Komentar dalam bahasa Inggris dan Cina didukung. Bahasa yang digunakan dalam komentar repositori dapat berbeda dari yang digunakan dalam kode.

    • Nama parameter: Anda dapat menggunakan nama parameter fleksibel. Lingma akan menyesuaikannya untuk mencocokkan kode yang diingat.

  3. Generasi kode: Saat Anda menekan Enter pertama kali, Lingma menyarankan kode berdasarkan komentar Anda. Saat Anda menekan Enter lagi, Lingma melengkapi kode menggunakan repositori kode perusahaan.2024-09-12_18-16-56

Catatan
  • Jika komentar atau tanda tangan fungsi Anda memiliki parameter, Lingma secara otomatis mengubah nama parameter dalam kode yang dihasilkan untuk memastikan konsistensi penamaan.

  • Untuk mendapatkan data terbaru, segarkan cache. Tekan ⌥(option) P pada macOS atau Alt P pada Windows untuk memicu penyelesaian kode secara manual.

FAQ: Mengapa saya tidak bisa mengingat kode?

Jika Anda mengalami masalah mengingat kode setelah menginstal Lingma, lakukan langkah-langkah berikut:

  • macOS: Mulai ulang proses Lingma dan bersihkan cache terkait:

    ps -ef|grep lingma|grep start|awk '{print $2}'|xargs -I {} kill -9 {}
  • Windows: Hentikan proses Lingma di Task Manager.