Trik Mudah untuk Meningkatkan Kecekapan Pengekodan

Terdapat fenomena aneh yang timbul di kalangan penerbit perisian. Tampaknya ada kecenderungan bagi orang untuk membalikkan pemahaman mereka tentang apa yang membuat produk berkualiti lebih baik, atau setidaknya ini benar ketika datang ke mereka yang melakukan pemasaran. Ini berjalan seperti: "Produk mereka mempunyai satu juta baris kod, tetapi produk kami mempunyai dua juta, jadi produk kami harus lebih baik."

Tidak ada yang tahu dari mana pemikiran "lebih banyak lagi" ini berasal, ketika pada waktu semua orang bekerja sangat keras untuk mencipta falsafah "kurang lebih". Mungkin ia bermula dengan kewartawanan bertaraf pengguna, kerana banyak penulis berusaha menarik perhatian khalayak dengan mengutip sejumlah besar. Untuk kebanyakan perkara, ini berfungsi - pemacu kilat kecil ini menyimpan 200 terabyte data, bahawa CPU dapat memproses 48 bilion arahan sesaat - dan penulis tidak selalu cukup teknologi untuk memahami bahawa perkara yang sama tidak berlaku untuk kod sumber.

Tetapi kecekapan dalam pengekodan bukan hanya untuk membuat algoritma yang ketat. Ini juga mengenai dapat mengurangkan sampah. Ini bermaksud pembaziran dari segi berapa banyak masa yang anda habiskan untuk menyelesaikan masalah, pembaziran dari segi penggunaan terlalu banyak sumber komputer, dan juga pembaziran dari segi berapa banyak kotak pizza yang telah disusun oleh pasukan anda di sekitar pejabat pada akhir minggu. Sebaik-baiknya anda ingin mengurangkan semua perkara ini.

Oleh itu, apa yang akan kita lihat dalam artikel ini adalah perkara yang boleh anda lakukan untuk meningkatkan kecekapan dan meningkatkan produktiviti.

1. Membina persekitaran kerja yang kondusif

Setiap pengekod berfungsi dalam keadaan yang unik, dan pembaca kami adalah kumpulan yang sangat pelbagai, jadi akan lebih mudah bagi anda untuk melaksanakan cadangan ini daripada yang lain.

Sekiranya anda bebas, tahniah, kerana anda sudah menguasai persekitaran kerja anda sendiri. Sudah tentu itu akan berubah apabila anda pergi melawat pelanggan dan harus bekerja di lokasi, tetapi masih merupakan kedudukan yang baik jika anda berjaya.

Sekiranya anda pengurus pasukan pembangunan, cadangan ini juga dapat membantu meningkatkan kecekapan pasukan anda. Atau jika anda adalah pekerja dalam pasukan pembangunan, anda mungkin ingin mencadangkan beberapa idea ini kepada pengurus anda atau sekurang-kurangnya hantarkan pautan ke halaman ini dan berharap yang terbaik.

Pertimbangkan untuk membenarkan ahli pasukan melakukan telecommute

Pengaturcaraan sebahagiannya adalah latihan logik, tetapi lebih merupakan cabaran kreatif. Pengaturcara terbaik dapat menggunakan kedua-dua belah otak mereka dengan ukuran yang sama dengan tugas apa pun. Sains telah lama mengakui bahawa orang kreatif melakukan kerja terbaik mereka pada waktu malam, dan ini adalah sesuatu yang telah kita semua alami. Oleh itu, mengapa kebanyakan pengurus bersikeras pada rutin tradisional 9 hingga 5?

Sebenarnya, kita sudah tahu jawapannya. Ini sebahagiannya mengenai kawalan, dan sebahagiannya mengenai membuat sesuatu lebih mudah dari sudut pandang perniagaan (atau sekurang-kurangnya pengurusan). Tetapi desakan terhadap rutin dan lokasi merosakkan kecekapan dan produktiviti pasukan.

Apa yang perlu anda sedar ialah pengekod anda mungkin semalaman mencuba permainan terbaru, atau mungkin mereka berpesta, atau hanya perlu bersosial dengan keluarga. Ini bermakna bahawa ketika mereka datang bekerja pada hari Isnin pagi, bukan sahaja anda tidak mendapatkannya pada tahap produktiviti yang paling tinggi, tetapi mereka sudah kehabisan tenaga dan letih anjing.

Memberi pilihan kepada pekerja tentang kapan mereka bekerja - dan juga ideal di mana - adalah cara terbaik untuk meningkatkan produktiviti dan semangat. Selagi mereka menyelesaikan tugas dan menghasilkan keputusan yang berkualiti, anda tidak perlu peduli bila, di mana, atau bagaimana mereka mencapainya.

Pengecualian adalah ketika anda memerlukan kolaborasi yang erat, tetapi sebenarnya kebanyakan pengkod melakukan lebih baik jika dibiarkan melakukan sesuatu dengan cara mereka sendiri, dan keperluan untuk kerjasama yang erat jarang terjadi. Pilihan untuk masuk ke pejabat harus tetap ada, tetapi tidak ada alasan yang realistik mengapa ia diperlukan kecuali anda mengusahakan projek ketenteraan rahsia.

Sebagai freelancer, anda juga dapat melihat intinya di sini ialah jika anda melakukan sebahagian besar kerja pengekodan sebenarnya pada waktu malam, anda mungkin akan menyelesaikan lebih banyak perkara. Terdapat sedikit gangguan pada larut malam, lebih tenang, dan anda akan merasa lebih kreatif.

Elakkan muzik

Kita semua telah melihat stereotaip filem gila di mana beberapa überhacker super-grungy meletakkan fon kepala dan macet mereka ke death-metal sambil dengan mudah mengeluarkan sebilangan kod tanpa berhenti untuk bernafas. Dan kita semua yang benar-benar membuat kod di dunia nyata tahu betapa tidak masuk akalnya imej itu.

Tetapi jika anda mendengar muzik semasa bekerja, berhati-hatilah. Cukup mudah untuk mendapati diri anda memikirkan muzik dan bukannya karya anda, dan beberapa jenis muzik boleh memberi kesan yang baik. Semasa anda bersenam di gim, jenis muzik yang tepat dapat memberi inspirasi kepada anda untuk mengeluarkan beberapa wakil yang lebih banyak. Tetapi tidak ada yang berjaya membuat muzik yang akan memberi inspirasi kepada anda untuk mencari jalan yang sesuai dengan titik koma yang hilang, atau membuat pilihan yang betul antara menggunakan gelung untuk gelung atau sebentar. Yang paling hampir dengan kita adalah Electric Dreams.

Cuba jaga kemas

Kekacauan dapat menenangkan, tetapi juga dapat memperlambat anda. Anda boleh kehilangan 20 minit dengan mudah untuk mencari sesuatu yang hilang dalam kekacauan, dan kemudian lupa mengapa anda menginginkannya sejak awal.

Oleh itu, atas semua ketidakselesaan yang ditimbulkannya, mengapa kita - setidaknya sebagian dari kita - begitu ketagihan kekacauan? Pakar dan pengarang organisasi, Julie Morgenstern, mendakwa kerana perkara ini menghubungkan kita dengan masa lalu kita dan berperanan dalam menentukan identiti kita. Marcus Geduld, seorang guru dan pengarah panggung yang berpusat di New York City, menunjukkan bahawa kerana kekacauan lebih disukai daripada persekitaran "steril", dan menyamakan kekacauan kekacauan dengan penegasan kebebasan dan kreativiti.

Tidak ada keraguan bahawa mengurangkan kekacauan akan membantu anda menghindari gangguan dan ketidakteraturan. Oleh itu, ini adalah matlamat yang layak untuk dicapai. Bagaimanapun, simpan beberapa benda suci di sekitar yang membuat anda merasa lebih baik dan kurang tertekan, tetapi jangan keterlaluan. Decluttering adalah salah satu perkara paling sukar untuk dilakukan oleh kebanyakan orang, dan bukan hanya desktop fizikal kita yang memerlukan decuttering, tetapi sering juga desktop komputer kita. Sekiranya anda benar-benar berjuang dengan itu, anda boleh mencuba menggunakan DTE minimalis seperti Fluxbox, yang sebenarnya tidak membenarkan anda mengalami kekacauan.

Tetapi di tengah-tengah semua ini, jangan berlebihan. Terdapat banyak sains yang baik yang menunjukkan bahawa sedikit kekacauan di persekitaran sebenarnya boleh mendorong kreativiti. Salah satu kajian yang paling kerap dikutip adalah entri jurnal dalam Sains Psikologi oleh Vohs, Redden & Rahinel untuk University of Minnesota yang bertajuk Urutan Fizikal Menghasilkan Pilihan, Kemurahan hati, dan Konvensional yang Sihat, sedangkan Gangguan Menghasilkan Kreativiti. Mungkin alasan mengapa kertas ini diteliti oleh wartawan adalah dengan jelas menyimpulkan bahawa: "... peserta di ruangan yang tidak teratur lebih kreatif daripada peserta di ruangan yang teratur."

Lebih kurang popular adalah perbezaan pendapat, seperti Gangguan Alam Sekitar Menjadi Kegagalan Pengaturan Diri (Chaye & Zhu, 2014), diterbitkan dalam Journal of Consumer Research. Kajian ini mendapati bahawa orang yang bekerja di lingkungan yang tidak teratur mengalami gangguan kemampuan mereka untuk melakukan tugas.

Jadi di mana ini meninggalkan anda? Sekiranya anda bekerja dalam keadaan huru-hara atau kemandulan? Jawapannya adalah untuk mencari keseimbangan di mana ia cukup kacau-bilau untuk membuat anda terinspirasi, tetapi tidak terlalu banyak sehingga anda terganggu atau menghadapi masalah mencari barang.

Tinggalkan sedikit ruang di belakang anda untuk menyusun pemikiran anda

Adalah idea yang baik untuk mempunyai banyak ruang untuk mengembara ketika anda berunding. Banyak laksamana dan jeneral terbaik dalam sejarah terkenal kerana banyak masa yang mereka habiskan untuk menghabiskan masa ketika merancang strategi pertempuran.

Bukan hanya lelaki yang berperang mengikuti amalan ini. Banyak biksu Buddha juga menganjurkan "meditasi berjalan", dan percaya ia membantu meningkatkan kejelasan fikiran. Setiap kali anda mempunyai masalah pengaturcaraan yang sangat baik untuk diselesaikan, anda mungkin dapat membantu meregangkan kaki sedikit dengan bermeditasi di sekitar geladak. Jelas sekali di sini bahawa kekurangan kekacauan akan membantu anda melakukan ini tanpa berakhir di hospital.

Sebagai bos, ambil pendekatan berhati-hati terhadap kritikan terhadap usaha kreatif

Tidak ada yang salah dengan kritikan konstruktif, tetapi anda perlu memilih saat yang tepat dan menghampirinya dengan cara yang betul, atau ia boleh menjadi bumerang dengan menjadikan kakitangan anda kurang produktif pada masa akan datang. Daripada memberi inspirasi kepada mereka dan memberikan pandangan, anda sebenarnya boleh membuat mereka takut untuk mengambil risiko, yang merupakan cara yang baik untuk membunuh kreativiti. Marieke Roskes, di Kekangan yang Membantu atau Menghalang Prestasi Kreatif: Pendekatan Motivasi, menyediakan kerangka kerja bagaimana menangani motivasi pekerja kreatif, dan secara spesifik juga bagaimana untuk menghindari demotivasi mereka secara tidak sengaja (Creativity & Innovation Management, Vol 24, Iss 2, 2015).

2. Menetapkan SOP yang baik

Terdapat banyak trend menarik dalam pengurusan perniagaan dan prosedur pengaturcaraan yang terdengar jauh lebih masuk akal dari segi teori daripada yang ternyata dalam praktiknya. Sama ada pendekatan tertentu sesuai untuk anda atau tidak bergantung pada objektif anda, dan apa yang anda anggap sebagai hasil yang berjaya.

Salah satu contoh metodologi yang dicuba oleh syarikat yang saya kerjakan — dan dengan cepat turun — adalah pengaturcaraan pasangan (tidak boleh dikelirukan dengan pengaturcaraan PEAR). Walaupun beberapa orang sangat mengagumi metodologi kerja ini dan memuji tempatnya dalam paradigma pembangunan tangkas, kami mendapati bahawa ia sangat tidak efisien. Sebagai permulaan, ia memerlukan dua pengaturcara untuk setiap stesen kerja, jadi anda membayar dua kali lebih banyak untuk kerja pembangunan yang sebenarnya. Kami juga mendapati bahawa bekerja dengan cara ini lebih lambat kerana aliran berhenti / mula yang kerap dan kecenderungan untuk dialog yang tidak perlu.

Kelebihan pengaturcaraan pasangan adalah bahawa ia menghasilkan dokumentasi yang lebih semula jadi dan dokumentasi yang lebih ketat. Ini juga membolehkan bug dapat dilihat dengan lebih mudah dan untuk cadangan dibuat mengenai pengetatan algoritma. Namun, pada masa yang sama, kelebihan yang sama juga menimbulkan masalah kerana kadang-kadang perubahan dan penyesuaian tidak begitu diperlukan.

Risiko lain dengan pendekatan ini ialah anda dapat mengetahui kesan yang dikenal pasti oleh Roskes, di mana pengaturcara mungkin ragu-ragu untuk mencuba sesuatu kerana tidak mahu diperbetulkan. Anda mungkin mendapati pertembungan keperibadian meletus di mana satu pembangunnya sangat berani dan tradisional, tetapi yang lain lebih kreatif dan spontan.

Pengaturcara sering menyatakan bahawa mereka lebih suka pengaturcaraan pasangan. Ada kemungkinan ini kerana mereka menikmati interaksi sosial yang dilakukannya, tetapi ini tidak menyumbang kepada kecekapan pengeluaran, kecuali mungkin sebagai penggalak semangat.

Oleh itu, apa yang perlu anda buat ialah yang benar-benar berfungsi untuk pembangun anda dan yang tidak. Untuk perkara-perkara yang tidak berfungsi, lebih baik membuangnya, walaupun itu adalah amalan yang sangat popular. Apa sahaja yang membantu pasukan untuk membuat kemajuan dengan cepat adalah perkara yang baik. Tetapi jika mereka ditimbang dengan metodologi yang tidak sesuai dengan gaya mereka, itu akhirnya akan menimbulkan masalah.

3. Galakkan dokumentasi verbose

Walaupun nampaknya verbosity akan meningkatkan ketidakefisienan, sedikit masa yang diperlukan untuk memberikan lebih banyak perincian dan ketepatan dalam komen dapat menyelamatkan banyak masalah ketika projek ini berjalan atau menjalani semakan.

4. Elakkan dokumentasi yang tidak perlu

Kod yang ditulis dengan baik sering mendokumentasikan diri. Sekiranya sangat jelas apa fungsi dilakukan dari nama yang anda berikan (yang hampir selalu berlaku), maka menambahkan lebih banyak keterangan adalah berlebihan. Perkara yang sama berlaku untuk nilai penamaan dan pengembalian yang berubah-ubah. Harus jelas dari namanya apa yang mereka lakukan, dan dalam hal-hal yang tidak mungkin dilakukan, anda harus memasukkan keterangannya dalam komen.

5. Ruang putih adalah rakan anda

Menggunakan ruang putih dengan betul dalam kod anda sangat berguna dalam membantu menjadikan kod lebih mudah dibaca, ditinjau dan difahami. Ia sesuai dengan pendokumentasian yang baik dan menulis kod pendokumentasian diri. Adalah mungkin bagi mana-mana programmer yang berpengalaman - atau mungkin juga bukan pengaturcara - untuk mengambil salinan kod sumber anda dan langsung memahami apa tujuan setiap fungsi dan bagaimana ia berfungsi. Sebaik-baiknya, seseorang harus dapat belajar memprogram daripada apa-apa selain mempelajari kod tulisan anda yang baik.

6. Lebih suka kesederhanaan daripada kerumitan

Semakin kompleks anda membuat kod anda, semakin sukar untuk melepaskannya. Ironinya ini berlaku untuk jalan pintas pengaturcaraan, seperti menggunakan syarat ringkas dan bukannya menuliskannya secara lengkap. Ini menjimatkan masa dalam penulisan, tetapi pengaturcara yang kurang berpengalaman datang untuk menyemak kod anda kemudian mungkin tidak memahami niat anda.

7. Uji secara menyeluruh

Kod harus diuji secara bertahap dan kerap. Sebelum menggunakan apa-apa, anda harus melakukan ujian dalaman sebanyak mungkin, walaupun siaran pertama anda akan ditetapkan sebagai Alpha.

8. Gunakan kawalan versi

Anda pasti gila untuk tidak menggunakan kawalan versi pada projek utama. Tanpa itu, anda tidak dilindungi dari kesalahan kecil anda sendiri, dan juga sangat mudah bagi ahli pasukan lain untuk secara tidak sengaja (atau sengaja) mensabotaj kod anda dengan menimpanya dengan sesuatu yang tidak menggembirakan anda.

Dengan mengambil kira lapan cadangan utama ini, anda akan dapat mengembangkan strategi anda sendiri untuk mendapatkan kecekapan paling banyak untuk anda dan mana-mana ahli pasukan yang anda bekerjasama. Anda tidak semestinya harus menerapkan semuanya, dan pastinya ada juga yang tidak praktikal untuk anda, tetapi gabungan antara mereka mungkin akan menyebabkan anda menyelesaikan kerja anda dengan sedikit kerumitan. Aliran kerja yang lebih produktif akan membayar sendiri dari masa ke masa, walaupun hanya dari segi pengurangan tekanan dan memberi anda lebih banyak masa untuk diri anda sendiri. Itulah matlamat yang patut dicapai.

Bogdan Rancea

Bogdan adalah ahli pengasas Inspired Mag, yang telah mengumpulkan hampir 6 tahun pengalaman dalam tempoh ini. Pada masa lapang dia suka belajar muzik klasik dan mendalami seni visual. Dia juga taksub dengan fixies juga. Dia sudah memiliki 5 orang.