Sebagai seorang programmer, jika Anda belum pernah mendengar tentang Stackoverflow, sebaiknya Anda memikirkannya. Salah satu buku pemrograman yang paling perlu dibaca oleh pemrogram (pada kenyataannya, cukup meninggalkan yang ini untuk buku pemrograman!). ):
(Beranda Jun disisipkan dengan kuat, gambar di atas adalah gambar palsu, beberapa netizen tidak mengerti ini sebelumnya, terutama untuk mengatakannya) Bagi para programmer yang belum membaca bukunya, saatnya membelinya. Jika Anda masih ragu, lihat artikel ini untuk melihat mengapa Anda tidak dapat melakukannya tanpa StackOverflow. Kebijaksanaan mengajukan pertanyaan Ketika Anda mengajukan pertanyaan teknis, apakah Anda akhirnya mendapatkan jawaban yang berguna sering kali tergantung pada bagaimana Anda bertanya dan menindaklanjuti. —— Eric S. Raymond Terkadang, deskripsi yang jelas tentang suatu masalah, terutama yang teknis, tidak sesederhana kelihatannya. Mengajukan pertanyaan selalu menjadi ilmu pengetahuan, tetapi sayangnya banyak orang yang tidak menyadarinya atau tidak cukup memperhatikannya. Atau, beberapa penanya tidak meminta bantuan sama sekali. Jadi kita akan menemukan semua jenis pertanyaan yang tidak dapat dijawab atau tidak ingin dijawab orang: Masalah regex Java? Apa itu waktu respons SLA? Apa perbedaan antara kelas ATL dan pewarisan kelas umum? Untuk menghindari masalah di atas ditutup atau dimodifikasi, letakkan gambar di sini untuk mengalami masalah omong kosong ini:
Anda dapat menemukan banyak pertanyaan ini di pertanyaan yang belum terjawab di SegmentFault, sehingga banyak orang jelas tidak memiliki kebijaksanaan atau sikap untuk mengajukan pertanyaan. Raymond dan Rick Moen menulis esai klasik tentang cara mengajukan pertanyaan The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), yang telah diterjemahkan ke dalam berbagai bahasa dan beredar luas dan dapat ditemukan dalam edisi Cina di sini. Stackoverflow dan Segmentfalut juga memiliki saran untuk mengajukan pertanyaan: Pusat Bantuan > Menanyakan Cara Menanyakan Bagaimana cara mengajukan pertanyaan yang bagus? Pertanyaan seperti apa yang diterima Ada terlalu banyak pertanyaan klasik di Stackoverflow, dan kita dapat belajar cara mengajukan pertanyaan dan berkomunikasi dengan penjawab. Ketika Anda terbiasa membaca pertanyaan di stackoverflow, Anda secara tidak sadar akan menirunya saat mengajukan pertanyaan, sehingga menghindari mengajukan pertanyaan tanpa otak. Berikut adalah beberapa pertanyaan terpenting yang harus diperhatikan saat mengajukan pertanyaan: Ajukan pertanyaan bahwa mesin pencari tidak memiliki jawaban yang memuaskan (Google setidaknya berusia empat halaman). Ajukan pertanyaan yang tidak dapat Anda selesaikan sendiri dan telah mencoba banyak hal Cobalah untuk menggambarkan masalahnya sejelas mungkin: tipografi yang baik, kode, petunjuk kesalahan, gambar, dll Jadikan pertanyaan Anda bermanfaat bagi orang lain Harus ada jawaban pasti untuk pertanyaan tersebut, dan seharusnya tidak ada terlalu banyak subjektivitas Skema yang berbeda Sering kali kami berharap untuk menemukan solusi, tetapi di Stackoverflow, seringkali ada keuntungan yang tidak terduga. Anda mungkin melihat solusi yang berbeda untuk suatu masalah, termasuk bahkan perbandingan dari solusi tersebut. Misalkan sekarang Anda ingin tahu cara memanggil perintah eksternal di Python, seperti ls -l, untuk mencetak artikel di bawah direktori. Google perintah sistem panggilan python, dan yang pertama adalah pertanyaan terkait di stackoverflow: Memanggil perintah eksternal di Python. (http://stackoverflow.com/questio ... l-command-in-python) (Masalah teknis Google, pada dasarnya masalah terkait stackoverflow akan ditampilkan). Kemudian di bawah pertanyaan ini, seseorang merangkum beberapa cara untuk memanggil perintah eksternal: os.sistem() os.popen() subproses.popen() subproses.panggilan() subproses.jalankan() Dan setiap metode juga diperkenalkan, Anda dapat memilih metode yang sesuai dengan skenario aplikasi Anda. Contoh lain adalah pertanyaan Bagaimana cara memeriksa apakah file ada menggunakan Python? (http://stackoverflow.com/questio ... exists-using-python), yang menjelaskan berbagai metode di Python untuk memeriksa keberadaan file. Penggunaan alat Ada banyak alat canggih yang dapat membantu kami mempelajari masalah dengan lebih baik, Anda mungkin tahu alat debugging gdb, Anda mungkin tahu modul pemantauan timeit python, tetapi Anda tidak tahu alat yang tidak Anda ketahui. Sering kali, ketika kita pertama kali mengetahui sebuah alat, kita akan merasa terlambat bertemu. Namun, alat yang Anda sukai selalu sulit didapat. Di Stackoverflow, mungkin ada beberapa alat yang bagus di setiap jawaban pertanyaan atau komentar, dan Anda akan selalu memiliki kesempatan untuk menemukan yang terbaik yang tertinggal di belakang garis. Berikut adalah daftar beberapa alat hebat yang saya temukan: Truss/Strace: Melacak panggilan sistem dan sinyal yang diterima Saat proses dijalankan, Strace dapat melacak panggilan sistem yang dihasilkan oleh suatu proses, termasuk parameter, nilai pengembalian, dan waktu eksekusi. (Dari Pertanyaan: Mengapa membaca baris dari stdin jauh lebih lambat di C++ daripada Python?) vprof: Alat visual yang menganalisis karakteristik program Python, seperti runtime, penggunaan memori, dll. (Dari pertanyaan: Bagaimana Anda bisa membuat profil Python?) Regex 101: Asisten ekspresi reguler online yang dapat membantu Anda memahami arti ekspresi reguler, men-debug ekspresi reguler, dan membuat eksperimen sederhana. (Dari Edisi: Belajar Ekspresi Reguler) Berikut adalah contoh sederhana dari Regex 101:
Proses berpikir Sering kali, ketika kita menghadapi masalah, kita tidak memiliki cara untuk memulai dan tidak tahu ke arah mana harus berpikir. Tetapi dengan stackoverflow, kita dapat dengan mudah menemukan solusi spesifiknya, dan terkadang bahkan tahu apa yang dipikirkan orang lain ketika dihadapkan pada masalah ini. Katakanlah Anda ingin menggunakan dekorator untuk menyelesaikan tugas dengan menambahkan sebelum dan sesudah string yang dikembalikan oleh fungsi say di bawah ini, dan Anda berpikir untuk mendefinisikan say seperti ini. @makebold @makeitalic def mengatakan(): kembali"Halo" Setiap panggilan untuk mengucapkan Halo. Tetapi bagaimana menerapkan makebold dan makeitalic adalah masalah. Di Stackoverflow, ada banteng besar yang akan memberi tahu Anda jawabannya secara langsung dan memberi Anda tautan ke dokumentasi dekorator. Tetapi ada juga Daniels yang akan memberi tahu Anda secara rinci tentang proses berpikir mereka dan pemahaman mereka tentang dekorator, sehingga Anda dapat memahami mekanisme dekorator secara mendalam. Menanggapi pertanyaan di atas, ada jawaban yang telah menerima lebih dari 3.000 suka, memberi tahu Anda cara memecahkan masalah selangkah demi selangkah. Pertama-tama, beri tahu kami apa saja karakteristik fungsi dalam python: Fungsi adalah objek Fungsi dapat ditetapkan ke variabel Fungsi dapat didefinisikan dalam fungsi lain Satu fungsi dapat mengembalikan fungsi lain Anda dapat meneruskan fungsi sebagai parameter Kemudian mulailah menjelaskan apa itu dekorator: sebenarnya ini adalah enkapsulator, yang memungkinkan kita untuk mengeksekusi kode lain sebelum dan sesudah menjalankan fungsi asli tanpa memodifikasinya. Prototipe dekorator sederhana diimplementasikan dengan tangan, diikuti dengan pengenalan sintaks dekorator dalam Python. Terakhir, beberapa kegunaan dekorator lanjutan terdaftar, termasuk meneruskan parameter ke dekorator. Baca seluruh jawabannya, Anda pasti akan memiliki pemahaman yang lebih dalam tentang dekorator, dan mengetahui proses berpikir untuk memahami dekorator. Dengan cara ini, mengikuti jalan pemikiran ini, Anda sendiri dapat menyimpulkan cara menggunakan dekorator. Kemungkinan titik buta Jika Anda tidak memiliki pertanyaan untuk diajukan, Anda juga dapat mengunjungi stackoverflow dari waktu ke waktu, menelusuri beberapa pertanyaan dengan lebih banyak suara, dan melihat apa yang telah dijawab orang lain. Dalam basis pengetahuan yang luas ini, kemungkinan besar Anda akan menemukan beberapa titik buta kognitif Anda dan menemukan konten yang belum pernah Anda perhatikan. Saya menemukan beberapa pertanyaan menarik, seperti: Cetak di terminal dengan warna menggunakan Python? Apa itu metaclass di Python? Apa pintasan Anda yang paling produktif dengan Vim? Saya telah menyusun daftar pertanyaan Python berkualitas tinggi di sini untuk referensi yang sering terjadi. Saya menyesal bahwa kami bertemu terlambat Jadi bagaimana cara menemukan StackOverflow, dua saran: Jelaskan masalahnya dengan tepat dalam bahasa Inggris Google itu Selama Anda bukan orang pertama yang mengalami masalah teknis, Anda mungkin akan menemukan masalah yang sama atau serupa di StackOverflow. Segera bertemu, jatuh cinta dengan Stackoverflow lebih awal, dan Anda akan menemukan bahwa hidup sangat nyaman.
|