Bagaimana Anda mengingat pemrograman hal-hal terkait? Pernahkah Anda merasa bahwa Anda telah menemukan kesalahan yang Anda miliki sebelum Anda sekarang, beberapa tahun yang lalu dan Anda bisa bersumpah Anda tahu penyebabnya, tetapi sekarang Anda sudah melupakannya?
Apakah Anda bekerja dengan parsing string xsl beberapa waktu yang lalu, tetapi sekarang Anda tidak dapat mengingat persis mana fungsi string yang sama sekali dari xsl dan Anda harus mulai dari awal? Atau mungkin Anda melupakan beberapa fitur dari Apache Commons seperti "memfilter koleksi berdasarkan beberapa predikat" yang pasti Anda gunakan di masa lalu.
Jadi, bagaimana Anda melakukannya? Saya mencoba memiliki blog tetapi ketika saya mengembangkan aplikasi, saya tidak pernah menemukan waktu untuk memperbarui blog atau menulis tentang pengalaman saya. Juga, menggunakan wiki adalah hal yang baik tetapi kemudian saya merasa sulit untuk menjaga pemisahan yang bersih di antara mereka karena berkali-kali saya perlu mengubah posting blog untuk menambahkan informasi baru tentang topik itu. Ini membuat saya berpikir bahwa saya seharusnya meletakkan topik ini di wiki daripada di blog.
Apakah Anda memiliki sistem yang membantu Anda mengingat pengalaman pemrograman Anda? Apa pengaturan Anda?
sumber
Jawaban:
Melupakan hal-hal adalah normal. Tidak mengingat beberapa trik yang membantu Anda di masa lalu juga normal. Ini adalah langkah pertama yang harus diakui. Lalu ada beberapa cara Anda dapat "menyimpan" pengetahuan untuk revisi lebih lanjut:
sumber
Kunciku adalah
Variasi
Pengulangan. Sekali bisa cepat berlalu. Melihat kejadian ke 100 membuat perbedaan!
Memori dengan jari . Saya ingat kode jauh lebih baik ketika saya benar-benar mengetiknya beberapa kali.
Perpustakaan Kode - Menyimpan kode dan trik pribadi yang telah Anda gunakan dan lihat.
Sentralisasi. Saya menyimpan 1 file dengan semua nama pengguna saya (ratusan) di 1 pc. Saya menerapkan keamanan untuk itu.
Disiplin - Anda sebutkan tidak punya waktu / melakukan upaya untuk memperbarui blog Anda sendiri, dll. Bahwa Anda hanya perlu bekerja lebih keras dan pastikan Anda melakukannya.
Penerimaan - keterampilan dan teknik dan hal-hal yang Anda pelajari selama seminggu akan menjadi segar. Beberapa item yang Anda katakan 3 tahun lalu akan sulit diingat. Itu normal karena otak memberi ruang lebih banyak.
Berbagai indera - kadang-kadang saya menggunakan mnemonik, kadang-kadang saya menjatuhkan gambar dengan konsep-konsep kunci yang diambil dengan cara yang berbeda. Saya membaca, saya mendengarkan podcast, saya menonton video, saya menggunakan warna di editor. Semakin banyak akal yang saya gunakan semakin baik.
Mnemonik , misalnya tarbal css order tarball (TaRBalL) TopRightBottomLeft. Saya juga menggunakan warna dan bentuk untuk mengingat kata dan tema. Seringkali semakin aneh, semakin berkesan!
Penggunaan Lanjutan - Ini adalah efek 'gunakan atau hilangkan'. Semua pengetahuan memudar seiring waktu. Waktu ++ Fade ++
The Stack Exchange Network - Saya menggunakan Stack Overflow di banyak area untuk mencoba dan mempertahankan sebanyak mungkin skill dan teknik yang berbeda 'saat ini' dan 'diingat' walaupun saya tidak menggunakannya dalam pekerjaan / proyek saya saat ini.
Dropbox - Saya menyimpan file kecil commnon dengan item yang terkait dengan memori
Buku - Saya masih suka orang bodoh dan merasa buku fisik. Saya juga memiliki beberapa kindle dan buku teknis on-line lainnya yang dapat saya rujuk di mana saja. Jelas perpustakaan teknis saya dapat diakses di mana saja saat ini digital yang sangat besar.
Efek Google - tidak ada daftar item yang benar-benar akan lengkap tanpa menyebutkan ini. Ini lebih lanjut tentang apa yang tidak perlu Anda ingat - karena Anda dapat google dan menemukannya. Ini juga merupakan pertimbangan penting. Karena semakin banyak orang menjadi lebih mahir dalam cara mendapatkan pengetahuan ini, kebutuhan untuk benar-benar menghafal setiap fakta yang diberikan menurun. Namun ini juga 'meningkatkan standar' bagi pekerja pengetahuan yang semakin menemukan pemahaman konseptual yang mendalam untuk dilakukan di lingkungan saat ini. Tentu saja yang keluar untuk CME !
Blog saya sendiri
Situs bookmark saya sendiri .
sumber
Selama setahun terakhir Evernote menjadi program yang tidak dapat saya lakukan tanpanya. Saya menyalin semuanya ke Evernote. Cuplikan Kode, Screenshoot, Data kontak, Riwayat Versi dan sebagainya. Jadi saya tidak perlu mengingat banyak detail. Saya hanya tahu itu ada di suatu tempat.
Versi dasar gratis. Jadi, cobalah!
sumber
Sherlock Holmes pernah mengatakan sesuatu seperti, "Pikiran seseorang seperti loteng. Jika Anda mengisinya dengan hal-hal sepele, tidak ada ruang untuk hal-hal yang benar-benar penting. Untuk semua detail ini, kami memiliki ensiklopedia."
Kecuali jika Anda memiliki memori fotografi, dan masalah di dalamnya, Anda tidak akan mengingat semuanya. Membangun satu set sumber daya, perpustakaan pribadi dari kedua informasi dan teknik pemecahan masalah.
Anda mungkin tidak ingat jawabannya, dan Anda bahkan mungkin tidak ingat di mana jawabannya ditulis. Tetapi, jika Anda tahu bagaimana menyelesaikan masalah, maka Anda selalu dapat menemukan jawabannya lagi. Semoga, ini akan mencakup mendokumentasikan solusi Anda dengan cara yang dapat dicari dan digunakan kembali.
sumber
Yah, mungkin kasus saya khusus ... tetapi: Saya memiliki setiap memo perangkat lunak yang saya tulis sejak 76 di laptop saya, program, skrip, konfigurasi, dll. Jadi seiring waktu (harus mengaku), beban ingatan saya telah bergeser dari mengingat ' hal untuk mengingat meta-data tentang hal. Tentu, banyak dari itu tidak relevan lagi, tetapi apa yang saya temukan bahwa bagian yang sulit adalah memiliki ide, tidak benar-benar mengimplementasikannya. Jadi meta-data pada dasarnya adalah indeks dari apa 'ide' dapat ditemukan di mana.
Ketika saya memukul rumput baru, saat ini, saya cenderung menemukan beberapa basis kode besar yang menggunakan aspek-aspek baru, dan menghabiskan waktu berkualitas dengan basis kode. Saya mempelajarinya, mencoba membuatnya bekerja di lingkungan uji, kemudian mencoba menambahnya sehingga saya bisa mempermudah ke alat baru (perpustakaan, bahasa, membangun teknologi, dll ...). Proses ini memungkinkan saya untuk memetakan pola, ide, ke contoh. Saya mungkin mengambil waktu untuk melakukan beberapa proyek kecil seperti itu, dan memilih sebagai referensi yang paling saya rasakan di rumah. Setelah selesai, saya akhirnya akan mengarahkan kembali basis kode itu untuk membangun kerangka aplikasi saya sendiri.
Ketika arsip pribadi gagal, saya menekan jaring, yang saya baru saja menambahkan SO. Saya akan mendapatkan konsep 'baru' (baru dari sudut pandang pribadi) pada SO sebelum gaagle. Bahkan, saya jarang (saat ini) kembali ke penjara. Jawaban pertama yang relevan pada biasanya ada tautan ke beberapa pertanyaan menarik tentang SO.
sumber
Seperti orang lain, saya melacak hal-hal menggunakan bookmark.
Saya dulu menggunakan Delicious, tetapi sekarang telah pindah ke Pinboard.
Tapi saya tidak menggunakan cara ini seperti dulu. Sepertinya setiap masalah pemrograman yang saya temui adalah pencarian google kecil saja. Dan dalam setahun terakhir, saya mulai menggunakan Stackoverflow sebagai salah satu istilah pencarian saya!
Setiap kali saya datang pertanyaan SO untuk masalah yang sangat sulit, saya favorit untuk melacaknya jadi ini adalah bentuk lain dari bookmark.
sumber
Sangat normal untuk tidak mengingat detail yang lebih baik. Namun yang harus Anda khawatirkan adalah melupakan hal-hal utama. Jika Anda memperbaiki bug, Anda setidaknya harus memiliki ide konseptual tentang apa masalahnya.
Bookmark, blog, notebook semuanya baik-baik saja untuk menyimpan detail-detail yang lebih baik. Tetapi pada akhirnya Anda masih perlu mengingat "gambaran" yang lebih besar. Kalau tidak, menemukan kembali rincian "halus" itu akan jauh lebih sulit.
sumber
Simpan catatan Anda sendiri, ungkapkan hal-hal dengan kata-kata Anda sendiri. Target audiens Anda adalah Anda , bukan siapa-siapa, sehingga Anda bisa menjadi pendek. (Namun, posting blog benar-benar harus jelas dan diedit dengan baik, yang memakan waktu.) Jika Anda menemukan artikel / blogpost yang bagus, catat URLnya, tetapi tetap jelaskan dengan kata-kata Anda sendiri.
Saya menyimpan hierarki besar file kecil, pendek, satu topik. Sebagian besar file berbentuk bebas, tapi saya beralih menggunakan Markdown. Cari menggunakan grep / find. Saya menyimpan folder di DropBox saya, jadi selalu tersedia untuk saya.
sumber
Setiap orang mungkin memiliki gayanya sendiri sehingga terbiasa, Bagi saya, saya memisahkan pengetahuan dalam kategori:
Buku
Artikel
Koleksi (Barang yang menurut saya menarik terbatas pada beberapa paragraf - Saya benar-benar menyalin informasinya dan terkadang membubuhi keterangan sumbernya) - Misalnya: Pengembangan OOD, Generik, ... dll.
Kode yang dapat digunakan kembali (teks dan cuplikan) - Masing-masing pada file terpisah di bawah organisasi hierarki yang baik. Misalnya simpul DataValidation akan berisi banyak teknik untuk memvalidasi item data yang berbeda, masing-masing dalam file terpisah
Proyek yang sudah selesai
Tutorial Video Pribadi (Saya terkadang merekam video tentang bagaimana melakukan sesuatu ketika terlalu banyak langkah terlibat).
Tautan
Saya mengatur di atas dengan subjek, dengan masing-masing subjek dalam struktur pohon yang sesuai.
Beberapa kali ada hal-hal yang tumpang tindih tetapi saya berhasil menemukan apa yang saya inginkan.
Juga, menggunakan Google Desktop, menemukan teks atau file sangat cepat.
sumber
Saya menggunakan OneNote. Saya memiliki banyak bahasa pemrograman berbeda sehingga saya memiliki bagian yang berbeda untuk setiap bahasa dan tab yang berbeda untuk berbagai jenis catatan.
Sekarang, saya mulai menggunakan Stack Exchange juga.
sumber
Anda harus seimbang antara memori dan "penyimpanan" .. Jika Anda terlalu banyak mengandalkan atau untuk hal-hal yang salah dalam memori, == masalah, jika Anda terlalu mengandalkan menyimpan semuanya == tidak berguna.
Aturan saya:
-Jangan mempercantik! tulis hal-hal penting walaupun ukuran font bervariasi di dokumen Anda :)
-Jangan berlebihan. Yakinkan diri Anda bahwa mengeminasi pikiran Anda tidak memerlukan struktur pohon 10 tingkat
-Menghabiskan WAKTU untuk menemukan apa yang harus direkam. Anda mungkin menemukan 5 solusi untuk masalah yang sama. saat Anda menuliskan semuanya, Anda kehilangan. Tuliskan 1-2 yang BENAR-BENAR membantu Anda. JANGAN biarkan diri Anda memberi tahu Anda bahwa Anda tidak punya waktu untuk ini sekarang. Agak aneh tapi ini berlaku: "Menghabiskan waktu untuk mendapatkan waktu"
Saya tidak suka meletakkan barang-barang ini di "produk" karena saya ingin memastikan bahwa barang itu akan ada 20 tahun kemudian dan saya tidak ingin pindah ke berbagai platform ..
Jadi apa yang harus dilakukan?
Apa pun yang Anda bisa dapatkan info dengan upaya minimum.
Misalnya instal phpBB dan tulis sendiri. Anda mendapatkan fungsi pencarian di luar kotak, gratis dan Anda dapat memiliki data diekstraksi dengan pernyataan SQL sederhana dan memasukkannya ke dalam file. Anda dapat meminta cronjob untuk mengekspor pemikiran Anda dalam file untuk pengarsipan. Jadi, jika Anda perlu menempatkan mereka di sistem lain, Anda siap dengan upaya minimum.
Masalah lain adalah tidak ada yang menjamin bahwa tautan yang Anda temukan akan berfungsi besok (bayangkan 5 tahun kemudian). Jadi cobalah untuk menggandakan info:
-Download video dengan ekstensi browser dan pasang misalnya ke posting phpBB Anda (atau wordpress atau apa pun).
Hadapilah: Anda seorang programmer dan Anda membuat aplikasi untuk orang lain. Buat yang sederhana untuk diri sendiri dan menjadi klien terbaik ANDA.
2c saya
sumber
Jawaban singkat:
Berlatih, berlatih, berlatih.
Jawaban Tidak Begitu Singkat:
Bagaimana Anda ingat cara berjalan? Bagaimana Anda ingat cara berbicara? Memang keterampilan ini tidak persis sama dan mereka tidak memerlukan, tampaknya, pengetahuan ensiklopedik (untuk pemula, setidaknya), tetapi Anda menggunakan hal yang sama: memori.
Meskipun saya akui bahwa, bagi pemula, pemrograman dapat tampak sebagai subjek yang sangat tidak mungkin ketika Anda mulai mempelajarinya, itu menjadi seperti subjek lain begitu Anda sudah menguasai dasar-dasarnya.
Segera setelah saya menemukan jawabannya, saya mulai memecah hal-hal menjadi potongan yang lebih kecil dan lebih kecil (versi abstraksi pribadi saya). Dengan begitu, sesuatu yang tampaknya sulit untuk diingat menjadi lebih mudah (paling tidak dengan saya).
Menulis hal-hal membantu lebih dari yang Anda kira (setelah bekerja di Pendidikan, saya tahu bahwa ini dapat memiliki efek positif besar pada retensi). Terutama jika Anda bisa memasukkannya ke dalam kata-kata Anda sendiri - bukan hanya menyalinnya kata demi kata. Jika Anda dapat memparafrasekan atau menyamakannya dengan sesuatu yang sudah Anda ketahui, bahkan lebih baik.
Sebagai contoh: Dalam C #, objek String tidak dapat diubah. Ini berarti bahwa setiap kali saya memberi tahu program saya untuk mengubah konten objek string, apa yang sebenarnya terjadi adalah string asli dihancurkan (secara teknis itu ditempatkan di tingkat terendah pemulung). Persis seperti ketika seorang seniman membuat kesalahan ketika membuat patung marmer - itu tidak dapat diubah, sehingga dihancurkan dan yang baru dibuat.
Itu bukan contoh yang bagus, tetapi itu menunjukkan dasar-dasar dari apa yang saya maksudkan.
Dokumentasi kualitas juga membantu. Sesuatu yang pernah dikatakan oleh dosen Pemrograman 101 saya tentang saya:
Buku-buku bagus juga merupakan sumber yang bagus. Seorang guru yang berbeda pernah mengatakan kepada saya bahwa jika sebuah buku tidak memiliki indeks (dan ada banyak dari mereka, di luar sana tidak ada), maka itu tidak layak dibeli.
Google bisa menjadi sumber yang luar biasa, tetapi berhati-hatilah terhadap copy-paste coders. Jauhi situs yang hanya memberi Anda blok kode tanpa penjelasan. Saya lebih suka membaca seluruh artikel tentang blok kode kecil, dengan begitu Anda bisa mengetahui dengan pasti apa yang dimaksud dengan blok kode, bagaimana melakukannya, dan mengapa programmer menulisnya seperti itu.
Semoga itu bisa membantu
sumber