Teknik untuk meningkatkan logika pada pemrograman [ditutup]

21

Saya ke pemrograman sejak 3 tahun terakhir. Tapi saya sepertinya tersesat di dalamnya. Saya tidak bisa mendapatkan yang baik meskipun saya kode setiap hari.

misalkan saya memecahkan satu masalah, saya akan mengembara dari solusi ke solusi dan mengimplementasikan beberapa solusi lainnya. Saya tidak bisa fokus banyak. Saya mendapatkan banyak cacat untuk kode yang saya tulis. Saya takut kode saya tidak tahu mengapa jika saya tidak menyelesaikannya tepat waktu bos saya akan memecat saya dll. Saya menikmati pengkodean tetapi tidak sepanjang waktu. Bagaimana cara meningkatkan kesabaran?

Saya selalu bertanya-tanya bagaimana saya bisa menjadi pembuat kode terbaik seperti banyak programmer luar biasa. Saya tahu ini terdengar subyektif tapi saya pikir ini akan membantu komunitas programmer untuk menjadi baik terutama untuk rata-rata seperti saya atau programmer pemula.

Umesh Kacha
sumber
8
Adalah umum untuk merasakan hal ini. Tidak semua dari kita akan menulis kompiler atau akan menjadi programmer hardcore. Saya tidak memiliki pelatihan formal dalam pemrograman, tetapi pemecahan masalah adalah kuncinya. Dengan perubahan teknologi yang sangat cepat, sangat sulit untuk tetap berada di atas air. Saya berusaha menuju perbaikan berkelanjutan. Itu tujuan saya. Memahami profesi ini sangat berbeda, berusaha untuk melakukan yang terbaik dan terus maju. Saya selalu meluangkan waktu setiap minggu untuk belajar atau memahami sesuatu yang baru. Selama Anda mempertahankan sikap itu, Anda akan menjadi lebih baik.
Jon Raynor
"Saya takut kode ... jika saya tidak menyelesaikannya tepat waktu bos saya akan memecat saya dll." - Itu bukan lingkungan yang bagus untuk menikmati, dan karena itu menjadi lebih baik, pemrograman.
Paul D. Waite
@ PaulD.Waite Benar, itu tidak bagus tetapi sangat sangat umum.
Pramesh Bajracharya

Jawaban:

12

Saya pribadi menyarankan mulai dengan rintangan yang lebih kecil; coba ambil kode dalam potongan yang lebih kecil dan dapatkan lebih banyak untuk kemenangan menengah. Sepertinya Anda kewalahan atau bosan jika sesuatu berlangsung terlalu lama atau tidak menunjukkan kemajuan. Bisa saya katakan secara pasti saya sudah berada di kapal yang sama.

Pikirkan itu seperti membuat sandwich: Anda tidak memakan semuanya dalam satu gigitan, Anda memecahnya. Lakukan hal yang sama dengan proyek Anda, tugas, dll. Tergantung pada tingkat apa Anda berada, Anda mungkin ingin meminta supervisor / manajer Anda untuk menjabarkannya untuk Anda. Jika Anda bertanggung jawab atas beban kerja Anda sendiri, tetapkan sedikit garis finis untuk diri sendiri yang mampu dicapai (jangan menetapkan tujuan yang tidak akan pernah Anda capai, ini hanya membuat Anda lebih berkecil hati dan menempatkan Anda pada posisi yang tidak diinginkan). yaitu "Menjelang siang saya ingin kelas ini didefinisikan", "Pada 2 saya ingin antarmuka ini diimplementasikan", dll.

Perusahaan saya terkenal karena memulai dan meningkatkan proyek, memungkinkan saya untuk mencapai angka 90%, kemudian menyelinap karpet keluar dari bawah saya untuk beralih ke "hal besar berikutnya". Saya mulai berkecil hati bahwa saya tidak pernah menyelesaikan sesuatu, dan membuat saya dalam "funk" (jika Anda mau). Akhirnya saya mendorong kembali dan memberi tahu mereka bahwa saya tidak akan bergerak sampai saya menyelesaikan apa yang hampir selesai. Ini membuat keajaiban harga, moral, dan energi saya (meskipun saya tidak bisa mengatakan hal yang sama tentang majikan saya: angkat bahu :)

Brad Christie
sumber
7

Saran saya adalah untuk mendapatkan seorang mentor.

Saat Anda mendapatkan proyek baru, putuskan jalur yang akan Anda tempuh: seperti apa keseluruhan desainnya; algoritma apa yang akan Anda gunakan; bagaimana Anda berencana mengembangkannya sehingga Anda dapat menguji lebih awal dan sering; dan lain-lain.

Bawalah rencana ini ke mentor Anda dan bicarakan dengan dia. Jika mereka melihat Anda berada di jalan yang salah atau Anda melewatkan sesuatu yang penting, perbaiki rencana Anda dan coba lagi.

Sekarang setelah Anda memiliki rencana yang disetujui, patuhi itu. Jangan mengubah rencana Anda kecuali terjadi sesuatu yang benar-benar membawa malapetaka, lalu kembali untuk merevisi rencana Anda, mendapatkan persetujuan dan memulai kembali. Jika tidak, patuhi rencana Anda dan selesaikan apa yang telah Anda putuskan untuk dilakukan. Periksa dengan mentor Anda secara berkala untuk memvalidasi implementasi Anda, dan pastikan Anda menulis dan menggunakan tes di sepanjang jalan.

Jika Anda telah melakukan semua hal di atas dengan sukses, Anda akan mengirimkan proyek tepat waktu dan dengan hasil yang benar. Jika Anda ingin kembali dan memperbaiki beberapa bagian dari proyek, Anda memiliki semua tes yang Anda buat serta salinan program yang berfungsi untuk membangun.

Kedengarannya bagi saya seolah-olah Anda agak terlalu tersebar dan kurang konsentrasi. Mungkin jika Anda dapat memperbaiki area-area itu dan bekerja dengan seseorang yang Anda hormati, Anda akan segera berada di jalur.

Semoga beruntung untukmu.

unpythonic
sumber
6

Saya percaya saya berada di posisi yang sama persis seperti Anda dan tidak menyenangkan berada di sana. Hal ini dapat melemahkan semangat dan jujur ​​pada saat yang sama cukup membuat depresi. Namun, seperti halnya apa pun yang saya yakini ada beberapa hal yang dapat Anda lakukan untuk membantu meringankan ini dan dengan demikian maju ke karier kerja yang lebih sehat dan lebih bahagia.

  1. Anda harus ingin berubah dan menjadi lebih baik. Jika Anda merasa seperti ini tetapi tidak siap untuk berusaha keras untuk meningkatkan keterampilan Anda, maka tidak banyak orang yang bisa melakukan alat / proses apa pun untuk Anda.

  2. Beberapa orang secara alami brilian. Beberapa orang bekerja keras untuk menjadi brilian. Kebanyakan orang hanya bekerja keras untuk berusaha menjadi brilian. Jika Anda tidak berbakat secara alami (pemrograman atau tidak), maka kerja keras dapat membawa Anda ke sana. Hanya tingkat kerja keras akan bervariasi. Tidak ada yang tak mungkin.

  3. Terima kekurangan Anda dan lihat untuk meningkatkan. Salah satu rintangan terbesar yang saya lihat adalah orang-orang yang takut untuk menerima bahwa cara mereka bukanlah cara yang baik dan karenanya tidak pernah mencari nasihat atau mendiskusikan cara lain dalam melakukan sesuatu. Karenanya mereka tidak pernah belajar praktik yang lebih baik dan terus melakukan kesalahan yang sama berulang kali.

  4. Mintalah saran dari mereka yang Anda anggap pemrogram yang baik. Jangan pernah takut untuk berbicara dan meminta saran dari rekan kerja. Namun, selalu ikuti saran mereka dengan nilai nominal dan putuskan sendiri apakah Anda setuju atau tidak. Tidak peduli seberapa brilian seseorang, selalu ada banyak cara untuk memprogram loop.

  5. Baca, baca, baca. Baca grup berita. Posting pertanyaan di situs-situs seperti ini (bagus sekali). Beli buku yang Anda dengar baik, atau minta saran lainnya.

  6. Explicity menerapkan prinsip-prinsip desain dalam langkah-langkah kecil dan kemudian bangga dengan apa yang telah Anda lakukan. Jika Anda bangga dengan kode yang Anda miliki maka kecil kemungkinan ada ruang untuk kesalahan dan bug.

  7. Buka untuk saran dan bantuan. Tertutup pada pemikiran satu dimensi. Terbuka untuk banyak kemungkinan dan metode. Carilah mereka yang berpikir ada satu cara untuk segalanya. Sedikit seperti 4.

  8. Menjadi programmer yang brilian tidak sama dengan menjadi karyawan yang brilian. Jika menjadi programmer yang brilian adalah yang Anda inginkan, maka jujur ​​saja Anda mungkin tidak akan pernah sampai di sana. Namun setiap orang memiliki kemampuan yang saya yakini sebagai karyawan dan pribadi yang cemerlang. Kerjakan hal-hal yang dapat membantu Anda sampai di sana.

dreza
sumber
Jawaban yang bagus Sepertinya poin-poin ini berasal dari seorang mentor yang hebat. Perhatikan aku senpai !! _ / _
Pramesh Bajracharya
4

Jika setelah 3 tahun pengkodean harian, Anda berjuang dengan dasar-dasarnya, Anda harus serius mempertimbangkan kemungkinan ini bukan profesi yang tepat untuk Anda.

Ini bukan hal yang buruk. Pemrograman bukan untuk semua orang, temukan apa yang Anda kuasai dan lakukan itu, alih-alih paksakan sesuatu pada diri Anda yang tidak wajar.

Jika apa yang Anda katakan benar .. Anda tidak akan pernah menjadi "programmer luar biasa". Tidak apa-apa, terima saja.

Orang bodoh
sumber
Komentator: komentar dimaksudkan untuk mencari klarifikasi, bukan untuk diskusi panjang. Jika Anda memiliki solusi sendiri, tinggalkan jawaban. Jika menurut Anda jawaban ini bagus, pilih suara itu. Jika menurut Anda itu tidak baik, pilihlah. Jika Anda ingin mendiskusikan pertanyaan ini dengan orang lain, silakan gunakan obrolan . Lihat FAQ untuk informasi lebih lanjut.
Ayo, tidak ada yang menjadi "luar biasa" dalam tiga tahun.
JacquesB
3

Cobalah untuk membuat diri Anda masuk ke dalam aliran pikiran. Itulah satu-satunya faktor terpenting yang saya lihat sebagai pengembang yang baik. Untuk melakukan ini, Anda perlu menghadapi tantangan yang Anda tahu bisa Anda lakukan, tetapi sulit. Anda perlu menemukan tingkat tantangan yang tepat untuk melibatkan diri; maka Anda secara bertahap dapat meningkatkannya saat Anda menjadi lebih baik. Memiliki tugas yang terlalu mudah atau terlalu sulit akan merugikan.

konfigurator
sumber
3

Bagilah menjadi potongan-potongan kecil.
Biarkan saya menunjukkan penggunaan membuat sandwich PB&J.

Cari tahu proses dasar keseluruhan.

1 - Get Ingredients
2 - Combine Ingredients
3 - Cut Sandwich
4 - Serve Sandwich

Kemudian hancurkan masing-masing

**Get Ingredients**
1 - Validate/Create PB
1.1 - Validate/Create Jelly
1.2 - Validate/Create Bread
2 - Move PB To assembly area
...

ulangi proses break down sampai Anda sepenuhnya memahami logika yang terlibat.

Ini akan membuatnya lebih mudah untuk dipahami. Dan lebih mudah untuk mengidentifikasi proses umum. Sebelum Anda mulai pengkodean, pastikan logika Anda sudah dipecahkan. Membuat kesalahan bukan hanya hal yang diharapkan. Menemukannya sebelum Anda menerapkannya jauh lebih mudah diperbaiki.

Seringkali logika adalah bagian tersulit dari pemrograman. Itu sebabnya tidak semua orang ingin melakukannya. Jika Anda tidak menikmati logika tetapi menyukai Desain UI ada peran yang berspesialisasi dalam hal itu, di mana Anda mungkin menemukan lebih banyak kesenangan. Tidak ada yang salah dengan itu. Saya pribadi lebih suka logika daripada UI. Ada peran lain juga jika logika tidak di mana Anda ingin mencari tahu di mana Anda ingin berada.

SoylentGray
sumber
2

Saya pernah mengalami masalah seperti ini sebelumnya .. Itu terjadi tepat sebelum saya kehabisan tenaga dan tidak dapat memprogram pada tingkat yang produktif selama hampir satu tahun sesudahnya (dan saya baru berusia 19 tahun pada saat itu).

Ngomong-ngomong, Melihat ke belakang, masalah yang saya miliki adalah kurangnya arah dan manajemen. Saya akan berusaha mengimplementasikan sesuatu selama satu atau dua bulan dan kemudian ketika hampir selesai, tiba-tiba perlu dilakukan dengan cara yang sama sekali berbeda. Ini merupakan pukulan besar bagi harga diri saya karena saya cukup bangga dengan setiap baris kode yang saya tulis. Juga manajemen sebagian besar terdiri dari beberapa jam diskusi bagaimana sesuatu harus bekerja dan kemudian beberapa hari tidak membahas apa pun. Sebagian dari ini juga salah saya. Ini juga diperparah oleh kenyataan bahwa pada titik tertentu pekerjaan menjadi sangat membosankan dan saya merasa seperti saya hanya mengetik kode dan tidak benar-benar menjadi kreatif sama sekali.

Petunjuk umum:

  1. Jika Anda merasa ada kekurangan arah, angkat saja. Tanyakan atasan Anda untuk struktur lebih lanjut di mana hal-hal pergi
  2. Jika Anda harus menghapus kode sepanjang waktu (dan tidak dengan cara yang baik seperti refactoring), serius mempertanyakan mengapa tidak ada rencana yang lebih lengkap yang dibangun sebelum mengimplementasikan
  3. Jika Anda berada dalam permulaan super kecil dan berfungsi sebagai pengembang "pemimpin", ketika Anda jelas tidak berpengalaman untuk itu, menelan kebanggaan Anda dan memberi tahu manajer Anda bahwa Anda benar-benar lebih dari seorang pengembang junior.
  4. Kebosanan biasanya disebabkan oleh penampilan yang tidak selesai dikerjakan. Ambil tugas Anda dalam gigitan yang lebih kecil dan catat kemajuan Anda. Ini akan membantu Anda merasa bahwa Anda sedang melakukan sesuatu
  5. Jika semuanya gagal, Anda mungkin ingin mulai melamar di tempat lain, terutama jika manajer Anda tampaknya tidak peduli bahwa Anda mungkin akan kehabisan tenaga.
Earlz
sumber
-1

Temukan game logika induktif seperti Zendo dan mainkan di waktu luang Anda. Serius. Logika induktif adalah jantung dari debugging.

Maleakhi
sumber