Beberapa orang memiliki masalah ini yang tidak dapat mereka pikirkan tanpa kata-kata. Dan menuliskan pikiran dan keputusan mereka adalah cara paling efektif untuk melanjutkan.
Jadi - apakah itu normal dan dapat diterima bahwa saya menuliskan pemikiran dan keputusan saya dalam beberapa file Notepad ++ selama pengkodean?
Kadang-kadang harus diterima, misalnya ketika membuat kembali dokumentasi teknis atau alasan tentang algoritma yang lebih kompleks, tetapi kadang-kadang mungkin aneh, misalnya ketika saya mempertimbangkan opsi desain dan mencoba membuat penilaian.
Dampak praktik ini terhadap produktivitas tidak jelas. Dari satu sisi - beralasan dengan kata-kata batin mungkin lebih cepat daripada dengan kata-kata tertulis. Dari sisi lain - masalah yang lebih kompleks membutuhkan penulisan. Selain itu, jika seseorang terjebak dengan lebih banyak pilihan desain, maka perasaan lebih baik ketika keputusan ditulis, sehingga membangkitkan semangat.
sumber
Jawaban:
Bukan hanya itu normal, itu ide yang bagus.
Ada kutipan terkenal
Meluangkan waktu untuk mengatur pemikiran Anda dan merencanakan pekerjaan Anda sebelum pengkodean menghabiskan waktu dengan baik. Menempatkan pemikiran itu di atas kertas akan memberi Anda waktu untuk merenungkan rencana Anda, mengkritiknya, dan mengaturnya dengan cara yang akan sangat sulit jika dilakukan hanya "di kepala Anda".
sumber
Ya, ini bisa diterima dan normal.
Mendokumentasikan proses pembuatan keputusan Anda seringkali berharga ketika meninjau kembali kode, untuk membantu menentukan mengapa kode ditulis dengan cara tertentu.
Catatan ini dapat dimasukkan secara langsung dalam kode sebagai komentar, jika cukup singkat. Komentar yang diperluas sering disimpan sebagai bagian dari dokumen desain teknis eksternal.
sumber
Itu ide yang bagus. Sampai itu menjadi cara untuk menunda-nunda.
Kuncinya adalah keseimbangan. Saya menemukan saya paling produktif jika saya tidak memasukkan diri saya tetapi menangkap ide ketika mereka datang.
Jika saya menggiling pada level rendah dan ide level tinggi datang, saya hanya menuliskannya dan kembali lagi nanti.
Merencanakan pekerjaan adalah ide yang baik tetapi kecuali Anda harus berkomunikasi atau hadir di depan audiens alat terbaik adalah pena dan serbet. Tangkap ide itu. Jangan buang waktu untuk membuatnya cantik.
sumber
Dalam situasi profesional apa pun, itu tidak hanya "normal dan dapat diterima", itu wajib. Siklus pengembangan yang khas terdiri dari dua fase dokumentasi sebelum pengkodean dimulai.
Dokumen Persyaratan Fungsional: biasanya ditulis oleh analis bisnis, menentukan fungsi yang akan diterapkan.
Dokumen Desain Detail: yang cukup banyak dengan apa yang Anda bicarakan, hanya lebih formal, menentukan dekomposisi fungsional (anjak piutang) dari sistem, algoritma, dll. Beberapa (lama) saya yang lama sedang online, misalnya ini .
Untuk dokumentasi yang kurang formal, saya 110% setuju dengan komentar sebelumnya tentang komentar sebaris. Itu satu - satunya cara untuk pergi; dengan satu atau lain cara, segalanya akhirnya hilang. Tetapi komentar inline yang rapi dan bijaksana adalah keterampilan pengkodean terpisah, yang dikembangkan melalui upaya dan praktik seperti keterampilan lainnya. Anda dapat melihat beberapa barang lama saya di, misalnya ini . Gaya itu mungkin atau mungkin tidak menarik bagi Anda. Saya sarankan terlebih dahulu menemukan beberapa kode yang dikomentari dengan gaya yang Anda suka, dan meniru itu dalam kode Anda sendiri. Setelah beberapa saat, sesuaikanlah sesuai keinginan Anda.
sumber
Tempat yang tepat untuk menaruh informasi semacam ini secara langsung di pesan commit dari sistem kontrol versi Anda (SVN, git, dll). Dengan cara ini Anda bisa melihat perubahan dan alasannya di tempat yang sama.
sumber
Selain jawaban baik lainnya, saya akan menambahkan bahwa saya sering menuliskan pikiran saya tentang apa yang saya coba lakukan.
Menjadi sangat eksplisit tentang mengartikulasikan apa yang saya coba lakukan membantu saya menyadari anggapan, asumsi dan / atau persyaratan yang tidak selalu berlaku.
Itu kemudian mengisyaratkan alternatif, yang kemudian saya dapat memikirkan lebih baik masing-masing pada gilirannya; tulisan itu membantu menyelamatkan tempat saya jika saya memikirkan sesuatu yang lain.
Saya membuat catatan cepat untuk mengeksplorasi napas dan kedalaman, sehingga ia bekerja secara rekursif, membantu saya menguraikan, menavigasi, dan mengevaluasi pohon solusi, mencadangkan, mengeksplorasi, menemukan, menyadari, dan memutuskan.
sumber
Menulis apa pun yang dapat menghemat waktu Anda / anggota tim (baru) adalah waktu yang dihabiskan dengan baik. Pastikan itu adalah sesuatu yang mungkin dibutuhkan seseorang di kemudian hari dan jangan terlalu banyak berpikir kecuali itu adalah proyek jangka panjang yang nyata.
Ini juga tidak perlu waktu sama sekali. Jika Anda menghabiskan waktu untuk berpikir, Anda dapat menuliskan pemikiran Anda 1 banding 1 (selama itu akan / dapat bermanfaat bagi seseorang).
Masalah sebenarnya bisa terlalu memikirkan apa yang Anda tulis. Hanya karena Anda menulis bukan berarti Anda harus mematuhi beberapa format yang sudah ada atau perlu semua cara membuat dokumentasi lengkap.
Jika pilihan Anda adalah antara tidak menuliskan apa pun dan hanya menulis catatan tidak formal pada notepad, maka cukup tulis catatan tidak formal.
sumber
Anda berkata: "Beberapa orang memiliki masalah ini sehingga mereka tidak dapat berpikir tanpa kata-kata. Dan menuliskan pikiran dan keputusan mereka adalah cara paling efektif untuk melanjutkan."
Jika menuliskan pikiran dan keputusan Anda adalah cara yang paling efektif untuk melanjutkan, mengapa tidak normal dan dapat diterima untuk melanjutkan dengan cara yang paling efektif? Anda melakukan yang terbaik untuk Anda. Mungkin bukan yang terbaik untuk orang lain. Dalam hal ini Anda tidak membiarkan orang lain memberi tahu Anda apa yang terbaik untuk Anda, dan Anda tidak memberi tahu mereka apa yang terbaik untuk mereka. Setiap orang melakukan yang terbaik untuk mereka.
sumber
Manusia hanya bisa memegang sekitar tujuh "benda" di kepala mereka sekaligus. Itulah alasan nomor telepon tujuh digit. Agar pemrogram dapat bekerja secara efisien, mereka harus menemukan semacam sistem untuk melepaskan barang dari memori mereka dan dengan cepat mengambilnya nanti sesuai kebutuhan. Catatan Anda adalah cara yang jelas dan langsung, tetapi semua orang yang mengerjakan sesuatu yang cukup rumit harus melakukannya entah bagaimana . Saat Anda memasangkan program dengan seseorang, buat titik untuk mencari metode mereka.
Salah satu cara yang umum adalah pengembangan yang digerakkan oleh tes. Dalam metodologi ini, Anda menulis satu tes gagal, Anda menulis kode yang cukup untuk lulus tes gagal, kemudian Anda refactor kode Anda agar terlihat lebih bagus sambil menjaga semua tes yang ada Anda lulus. Metodologi ini menyimpan semua "catatan" Anda dikodekan di dalam tes. Orang dapat bekerja sangat cepat dengan cara ini tanpa terlihat mencatat, karena mereka hanya fokus pada tes selanjutnya.
Cara umum lainnya adalah dengan hanya menulis catatan Anda dalam kode Anda sebagai komentar pseudocode atau bertopik, kemudian secara bertahap menggantikannya dengan hal yang nyata. Beginilah biasanya saya menulis algoritma. Draf pertama saya hanyalah fungsi utama dengan pseudocode, kemudian secara bertahap mengisi ke tingkat abstraksi yang lebih dalam dan lebih dalam.
Jangan merasa bersalah menggunakan metode apa pun yang cocok untuk Anda, tetapi cobalah perhatikan metode apa yang digunakan oleh rekan "efisien" Anda. Mereka memiliki keterbatasan manusia yang sama seperti Anda.
sumber