Edit:
Bagaimana Anda mengelola tugas individu ketika bekerja pada beberapa bahasa
Dalam penanganan tugas sehari-hari, berapa banyak bahasa pemrograman yang berbeda yang Anda gunakan?
- Apakah Anda membuat perubahan mental saat mengerjakan setiap bahasa?
- Apakah Anda Memprioritaskan mereka dan menjaga setiap tugas per bahasa secara terpisah.
- Apakah Anda membuat kode secara bertahap berdasarkan kemajuan setiap tugas yang beralih secara mulus antara bahasa / IDE / Lingkungan
- Apakah Anda menerapkan gaya pengkodean / konvensi yang sama pada semua bahasa (bukan sintaksis)?
Terkait:
Apakah normal bagi programmer untuk bekerja pada banyak proyek secara bersamaan
.equals
javascript. Setidaknya saya selalu melakukan kesalahan seperti itu daripada menggunakan==
di java.Jawaban:
Hari ini saya telah menulis Java, Python, C ++, dan SQL (jika itu penting). Dan saya sudah bekerja kurang dari 2 jam.
Jika Anda melakukan ini secara teratur, maka perubahan mental menjadi diabaikan. Ini tidak ada hubungannya dengan multitasking. Itu seperti berjalan sebentar, lalu mengendarai mobil, mengendarai sepeda, lalu berenang. Tidak masalah, karena semuanya berurutan.
Apapun, intinya adalah menyelesaikan satu tugas sebelum pindah ke yang berikutnya. Saya cenderung mendefinisikan tugas dalam hal fungsi konkret, memperbaiki, atau semacamnya. Seringkali tugas itu diselesaikan dengan hanya satu bahasa, tetapi mungkin memerlukan beberapa dari mereka. Misalnya, saat bekerja dengan JNI , Anda biasanya akan membuat perubahan pada sisi Java dan asli secara paralel.
Beberapa jawaban:
Sangat penting untuk dapat beralih dengan mulus antara IDE, editor, lingkungan. Biasanya saya selalu membuka semuanya.
Jika ini adalah antarmuka tempat dua bahasa berbicara, maka ya - nama variabel dan yang serupa harus sama. Kalau tidak, saya mencoba menerapkan gaya pengkodean khas bahasa itu.
sumber
Ada pola yang terbentuk di sini:
Jadi bagi saya ini: javascript, HTML, dan CSS, C #, Transact-SQL, dan Windows Powershell.
Apakah Anda menerapkan gaya pengkodean / konvensi yang sama pada semua bahasa (Bukan sintaksis)?
Tidak, saya membuat titik pemrograman sesuai dengan konvensi bahasa. Contoh sederhana:
Menggunakan konvensi pengkodean yang berbeda secara visual membantu saya membuat perubahan mental antar bahasa. Sebaliknya, jika kode saya terlihat sama di setiap bahasa, saya akan membuat kesalahan sintaksis dengan melupakan bahasa tempat saya mengode.
sumber
Seperti ditunjukkan oleh SK-logika, pergeseran mental seharusnya tidak menjadi masalah jika Anda menggunakan bahasa khusus domain yang dipilih dengan baik. Tetapi seringkali Anda tidak dapat memilih bahasa, sehingga terkadang dibutuhkan waktu untuk beralih. Dalam pengalaman saya kesulitannya lebih banyak dalam beralih sintaks daripada beralih gaya pemrograman. Satu-satunya perubahan yang menyebalkan yang selalu saya alami adalah perubahan gaya komentar : Jika saya hanya membuka file untuk dengan cepat mengubah satu baris kode, sering terjadi:
sumber
Dalam pekerjaan terakhir saya: Java, C ++, C #, JavaScript dan VBScript.
Tapi untungnya, semua hal di atas berada dalam konteks yang sangat berbeda (dan di beberapa produk) - jadi setelah Anda tahu setiap basis kode dengan cukup baik, peralihan mental ke konteks yang berbeda sebenarnya cukup mudah dan logis.
Sebenarnya, yang lebih mengganggu saya adalah gangguan oleh masalah dukungan klien. Beralih secara internal ke tugas dalam bahasa lain tidak pernah menjadi masalah.
sumber
Saya bekerja dengan 2 bahasa: c # dan python.
Saya menggunakan keduanya dalam proyek yang sama, tetapi jelas untuk tugas yang berbeda.
Ketika saya mengerjakan suatu tugas, saya mengerjakan tugas itu sampai itu dalam keadaan lengkap, atau sampai saya tidak bisa berkonsentrasi lagi pada itu. Ini berarti, jika saya harus beralih antar bahasa, ada sedikit atau tidak ada disonansi kognitif karena saya sudah keluar dari pemikiran dalam kedua bahasa ketika saya selesai dengan tugas terakhir.
Memang saya akan mengambil istirahat pendek ketika saya keluar dari tugas, yang mungkin banyak membantu.
sumber
Sesedikit mungkin. Biasanya melibatkan 1. Python, ditambah 2. HTML templating, 3. HTML + CSS dan kadang-kadang 4. Javascript. Beralih dari Python ke JS pasti membutuhkan perubahan mental, juga karena saya perlu menggunakan alat yang berbeda.
Saya menambahkan HTML + CSS sebagai terpisah dari templating HTML meskipun mungkin bukan bahasa per se (atau mereka mungkin, tergantung pada agama Anda), karena itu juga membutuhkan perubahan mental dan penggunaan alat-alat lain, meskipun tidak begitu buruk seperti beralih ke Javascript. Mengotak-atik HTML + CSS dari perspektif desain, untuk membuat halaman terlihat seperti mockup yang dibutuhkan, adalah pola pikir yang berbeda dari membuat templat HTML. Tapi itu lebih ortogonal ke Python daripada Javascript, yang berarti saya harus mengganti pola pikir pemrograman saya untuk yang lain. :)
sumber
Setiap hari saya menggunakan:
Saya juga menggunakan Python, Java dan XML (tidak termasuk?) Pekerjaan saya melibatkan pengeditan berbagai situs web, yang dapat dibangun dalam bahasa web apa pun (bahkan pernah menggunakan Perl) dan menggunakan paradigma / templat yang sangat berbeda (prosedural, MVC, OOP dll).
Untuk menjawab pertanyaan - Saya kebanyakan menggunakan Notepad ++ sebagai IDE saya untuk 5 pertama yang terdaftar, kemudian Visual Studio untuk Asp.Net.
Bisa jadi rasa sakit beralih dengan cepat antara setiap bahasa - mengingat apakah Anda memerlukan titik koma di akhir baris, atau apakah loop memiliki kawat gigi atau tidak. Beralih dari VBScript ke JScript adalah yang terburuk untuk ini - file keduanya berakhir dengan .asp dan terlihat cukup mirip pada pandangan pertama, jadi butuh beberapa saat untuk mengetahui mengapa saya mendapatkan kesalahan.
sumber
Saat ini saya sedang menulis Ruby, PHP, Java, C dan JavaScript dan akan menulis minimal 1 jam setiap hari. Masalah utama sebenarnya adalah masalah menemukan waktu karena semuanya untuk proyek yang tidak terkait.
Pergeseran Mental
Gaya kerja saya sedemikian rupa sehingga saya suka bekerja untuk waktu yang lama. Sayangnya, ini berarti jika saya hanya memiliki satu hal, ketika saya menemukan blok mental dengan sepotong kode, itu akan memakan waktu lama bagi saya untuk menyelesaikannya. Saya tidak menemukan istirahat juga membantu. Dengan memiliki proyek lain, dan khususnya bahasa lain, untuk beralih ke setiap kali saya macet berarti pada saat saya kembali ke bahasa asli, saya langsung punya solusi.
Karena itu, ya ada perubahan mental dan saya pikir itu membuat saya jauh lebih produktif.
Memprioritaskan Tugas
Saya menggunakan task manager (gTasks untuk Android) dan memiliki daftar todo terpisah untuk setiap proyek. Jika suatu proyek membutuhkan banyak bahasa maka saya tidak memisahkannya. Ini biasanya karena mereka akan sangat terkait dalam beberapa hal. Misalnya, JavaScript dan Ruby untuk melakukan beberapa hal AJAX. Jika bahasa secara teknis untuk proyek yang sama tetapi proyek itu sangat besar sehingga mereka pada dasarnya tidak berhubungan maka saya mungkin akan menghitungnya sebagai proyek yang terpisah.
Secara umum, prioritas saya adalah "daftar mana saja yang memiliki tugas terbanyak" tetapi saya akan selalu beralih jika saya mengalami masalah.
Konvensi Pengkodean
Ini sedikit campuran:
Selain itu: Tantangan terbesar bagi saya adalah beralih antar bahasa gaya. Sangat sulit untuk berlomba ketika mengkode SASS bersama Ruby dan kemudian harus beralih kembali ke CSS untuk yang lainnya. Pada tingkat lebih rendah, saya memiliki masalah yang sama dengan HAML / HTML dan JSON / XML.
sumber
Saya menulis aplikasi untuk sisi ISP, ada juga budaya "melakukan apa yang Anda sukai", sering ditulis oleh banyak insinyur jaringan yang mencoba-coba pemrograman. Saya harus berurusan dengan setiap minggu, program yang ditulis dengan sangat baik, untuk yang benar-benar mengerikan. Apa yang akan sering saya temui, dan kerjakan ...
Ada juga bahasa lain (.net, VB, Phyton, Rails, dll) di luar sana di perusahaan, tapi saya belum harus mengerjakannya ... belum.
Edit, untuk edit ...
Anda harus bergeser secara mental saat Anda bekerja di antara bahasa. Paling sering apa yang saya akan kehilangan jejak adalah sintaks. Saya siapkan koleksi buku referensi. Saya akan merasa perlu sekitar setengah jam untuk kembali ke pola pikir bahasa lain yang lain. Semakin banyak tumpul sintaks untuk bahasa, semakin lama pergeseran. Saya menemukan bahwa beralih dari melakukan Java ke melakukan Perl mungkin memakan waktu paling lama jika saya belum menyentuh Perl untuk sementara waktu. Semakin banyak Anda melakukan ini, semakin mudah didapat.
sumber
Saya sering menggunakan enam bahasa atau lebih dalam satu proyek. Kebanyakan dari mereka biasanya khusus untuk proyek itu saja.
Pergeseran mental hanya diperlukan jika Anda menggunakan bahasa yang tidak sesuai untuk suatu tugas. Kalau tidak, wajar untuk menggunakan yang paling cocok. Kumpulan bahasa yang berbeda digunakan untuk tahapan proyek yang berbeda.
sumber
Saya menggunakan C (tertanam), C ++ (desktop), Python, Matlab dan VHDL (semacam bahasa pemrograman perangkat keras) secara rutin, sering kali semuanya di hari yang sama. Di lingkungan saya, ketangkasan bahasa semacam ini sangat penting dalam pandangan saya.
Saya sering tidak bisa mendapatkan semua yang saya butuhkan untuk proyek tertentu yang dilakukan dalam satu bahasa secara efisien. Sebagai contoh, baik embedded C dan VHDL adalah level yang cukup rendah, jadi saya sering menggunakan Python untuk mem-parsing hasil mereka (atau bahkan menghasilkan kode).
Beralih di antara mereka dengan cepat bukanlah masalah setelah beberapa saat, itu seperti beralih dari palu ke obeng - alat yang tepat untuk pekerjaan itu.
sumber
Ini benar-benar tergantung pada bagaimana cara kerja didefinisikan ... Saya menggunakan C # untuk mengembangkan aplikasi Microsoft Surface setiap hari. Java, saya juga gunakan setiap hari untuk aplikasi Android saya. Tetapi saya mencoba untuk mendidik diri saya sendiri dan mulai menggunakan R, Ruby dan Objective-C. Terkadang saya juga membutuhkan beberapa SQL dan jika Anda memasukkan bahasa skrip dan bahasa lain ke dalam pertanyaan Anda, maka JavaScipt, SPARQL dan BeanShell.
Apakah Anda menerapkan gaya pengkodean / konvensi yang sama pada semua bahasa (Bukan sintaksis)?
Saya mencoba mengikuti konvensi pengkodean setiap bahasa tetapi terutama antara Java dan C # Saya mengalami beberapa kesulitan karena kurung kurawal dan penamaan metode huruf besar dalam C #:
vs.
sumber
Saya membangun aplikasi web. Jadi saat ini:
Editor: Sublime Text (out of choice), Visual Studio 2010 (tidak ada pilihan lain yang layak ketika datang ke ASP.Net)
sumber
Di pekerjaan saya, saya menggunakan Java, C, Python, Django, dan bit kecil PHP. Saya juga mengerjakan proyek yang sangat kecil di Microsoft C ++.
Saya tidak menggunakan semuanya setiap hari, tetapi beberapa hari saya menggunakannya semuanya tanpa masalah. Pada hari-hari biasa saya hanya menggunakan satu atau dua. Pemrograman yang saya lakukan di rumah biasanya melibatkan bekerja dengan teknologi yang berbeda dari yang saya gunakan di tempat kerja seperti Qt atau Ruby on Rails.
sumber