Empat Strategi Untuk Menentukan Komponen Coding

Empat Strategi Untuk Menentukan Komponen Coding – Artikelnya menguraikan empat strategi berbeda untuk mengatur kode: menurut komponen , menurut kotak alat , menurut lapisan , dan menurut jenisnya . Saya pikir keempat ini membentuk semacam hierarki sehubungan dengan jenis kohesi mana yang mereka sukai dan menurut pengalaman saya, mereka mencakup sebagian besar kode dunia nyata yang pernah saya kerjakan, menyenangkan dan tidak. Ada banyak sekali kemungkinan strategi tetapi saya (untungnya) tidak pernah menemukan siapa pun yang mengatur paket ke dalam proyek berdasarkan tanggal pembuatan atau kelas ke dalam paket dengan huruf pertama.

binaryjs

Empat Strategi Untuk Menentukan Komponen Coding

binaryjs – Ketika satu unit kode tumbuh terlalu besar dan mengandung terlalu banyak elemen, itu menjadi sulit untuk dinavigasi, sulit untuk mendapatkan gambaran umum, dan sulit untuk dipahami: itu menjadi kompleks . Senjata utama kami melawan kompleksitas ini adalah membagi dan menaklukkan: kami membagi unit menjadi bagian-bagian yang lebih kecil yang dapat kami pahami secara terpisah. Untuk kelas, cukup dipahami bahwa ini harus dilakukan agar kita membuat objek logis yang menunjukkan kohesi yang baik dan cocok dengan model domain.

Baca Juga : Cara Terbaik untuk Mempelajari Cara Membuat Kode Gratis

Dengan proyek  yang dikompilasi secara terpisah  kita harus memutus dependensi melingkar dan mencoba memastikan bahwa mereka mengekspos antarmuka yang cukup logis dan stabil ke proyek lain. Pada tingkat di antara  paket di Java atau ruang namadi C#  ada lebih banyak variasi dan menurut pengalaman saya, banyak pengembang memilih strategi tanpa banyak pertimbangan mengapa strategi tertentu harus digunakan.

Tiga strategi pertama yang dijelaskan dalam artikel ini dapat digunakan di tingkat kelas , paket , atau proyek sedangkan yang terakhir — organisasi menurut jenisnya kurang lebih spesifik untuk tingkat paket.

Menurut Komponen

Pengorganisasian oleh komponen meminimalkan kompleksitas dengan menekankan kohesi eksternal dan internal unit kode, misalnya paket. Yang pertama berarti bahwa paket tersebut memiliki antarmuka minimal yang hanya memperlihatkan konsep yang sangat terkait dengan layanan yang disediakan komponen. Yang terakhir berarti bahwa kode dalam paket sangat terkait dan dengan demikian sangat terkait dengan layanan yang disediakan.

Banyak yang bisa dan telah ditulis tentang apa yang merupakan unit abstraksi yang baik dan mencakup bahkan sepotong itu akan membuat artikel ini terlalu panjang. Cukuplah untuk mengatakan bahwa prinsip – prinsip SOLID adalah tempat yang bagus untuk mulai belajar dan bahwa latihan dan refleksi tentang bagaimana segala sesuatunya berjalan dan mengapa itu mungkin adalah yang terpenting. Dalam artikel ini saya hanya akan membahas apa yang menurut pengalaman saya adalah satu-satunya alasan paling umum untuk kompleksitas yang merajalela dalam basis kode di mana orang benar-benar mencoba mengatur berbagai hal dengan membagi penaklukan: kegagalan untuk mengisolasi paket menjadi komponen.

Unit kode baru sering dibuat dengan mengidentifikasi subset fungsi yang terkandung dalam satu (atau lebih) paket yang ada dan membuat abstraksi baru dari kode yang sesuai, menghasilkan unit yang lebih banyak tetapi lebih kecil. Ini menciptakan kode yang terlihat lebih mudah dicerna tetapi sebagian besar hanya sebagai penutup jendela sampai langkah lebih lanjut diambil: manfaat dari pengurangan kompleksitas total tidak akan mengikuti kecuali Anda kemudian mengambil langkah menghilangkan dependensi.

Menurut pendapat saya paket yang memiliki ketergantungan timbal balik tidak boleh dianggap sebagai unit kode yang terpisah sama sekali karena tidak ada yang dapat dipahami secara terpisah dari yang lain. Dalam contoh di atas, mudah untuk membayangkan bahwa kelas Graph memiliki referensi ke GraphStorage di mana ia bertahan setiap kali telah berubah. Paket graph_storage tidak hanya bergantung pada banyak detail model domain paket graph yang seharusnya tidak diketahui, paket-paket tersebut juga tetap saling bergantung. Ketergantungan termudah untuk dihilangkan seringkali adalah dari paket baru ke yang lama:

Alasan paling penting mengapa ini adalah peningkatan adalah bahwa ketika membaca kode penyimpanan, seseorang sekarang dapat mengandalkan fakta bahwa satu-satunya hal yang perlu diketahui tentang apa yang disimpannya adalah apa yang ada di antarmuka Storable .

Langkah selanjutnya adalah menghilangkan ketergantungan langsung dari paket grafik ke paket penyimpanan. Hal ini misalnya dapat dilakukan dengan membuat antarmuka GraphPersister di sebelumnya dan memiliki paket tingkat yang lebih tinggi menyuntikkan implementasi adaptor ke dalam Graph . Dan sekali lagi, manfaat utama adalah bahwa rangkaian fungsi penyimpanan yang tepat yang menjadi sandaran paket grafik akan menjadi jelas.

Secara teori, proses ini mungkin terdengar cukup mudah, tetapi dibutuhkan banyak pengalaman untuk belajar mengidentifikasi komponen dan strategi yang sesuai untuk mengisolasinya. Sangat umum untuk memulai proses hanya untuk mengetahui bahwa Anda tidak mendapatkan abstraksi dengan benar dan harus mundur dari perubahan. Namun, imbalan untuk mengisolasi komponen dengan benar sangat bagus: kode yang mudah dipahami, mudah ditingkatkan, mudah diuji, dan — kebetulan — mudah digunakan kembali .

Dengan Toolbox

Organization by toolbox berfokus pada kohesi eksternal, menyediakan toolbox yang konsisten yang dapat dipilih konsumen. Strategi ini lebih lemah daripada pengorganisasian berdasarkan komponen karena menghilangkan persyaratan untuk kohesi internal yang kuat, misalnya bahwa semua konstituen saling terkait erat. Bagian-bagian dari kotak alat sering kali merupakan implementasi pelengkap dari antarmuka yang sama yang dapat dipilih atau digabungkan secara berguna, daripada berbagi banyak cara implementasi.

Pustaka koleksi biasanya diatur sebagai kotak peralatan dengan seperangkat implementasi pelengkap dari serangkaian antarmuka koleksi dengan berbagai karakteristik yang berkaitan dengan area seperti kompleksitas waktu dan konsumsi memori. Mungkin juga ada tema pemersatu ke kotak alat, seperti hanya berisi struktur data berbasis disk.

Pustaka logging tidak selalu merupakan kotak peralatan secara keseluruhan tetapi sering kali berisi kotak peralatan misalnya implementasi penulis log yang menargetkan tujuan yang berbeda.

Kotak peralatan muncul karena nyaman bagi konsumen dan setiap “alat” di dalam kotak tidak cukup besar untuk menjamin unitnya sendiri meskipun secara teknis independen. Setiap komponen dalam pustaka GUI mungkin, misalnya, layak mendapatkan paketnya sendiri, tetapi memberikan setiap proyeknya sendiri tidak perlu memberatkan. Demikian pula setiap implementasi koleksi mungkin cocok dalam satu kelas dan menempatkan semuanya dalam paket individu akan menjadi birokrasi yang tidak perlu. Setidaknya dalam kasus terakhir, implementasi koleksi tunggal yang tumbuh di luar beberapa kelas harus mendapatkan paketnya sendiri, mungkin kecuali untuk fasad tipis demi konsistensi eksternal.

Menurut Lapisan

Organization by layer mendukung kohesi alur kerja daripada mencoba untuk mengontrol kompleksitas dengan meminimalkan kopling lintas unit. Kode dibagi di sepanjang batas lapisan yang ditentukan oleh masalah seperti skenario penerapan atau area tanggung jawab kontributor. Strategi ini berbeda dari organisasi dengan kotak peralatan di lapisan yang tidak menyajikan antarmuka tunggal, minimal, dan koheren ke lapisan lain melainkan antarmuka yang luas dengan banyak konstituen yang diakses sedikit demi sedikit oleh konstituen yang sesuai dari lapisan konsumen.

Karakteristik khas dari organisasi berdasarkan lapisan adalah bahwa sambungan logis lebih kuat di dalam komponen logis yang menjangkau seluruh lapisan daripada di dalam lapisan itu sendiri. Mode kegagalan yang paling umum dari strategi ini adalah bahwa sebagian besar perubahan memerlukan file yang menyentuh di semua lapisan, pada dasarnya definisi buku teks tentang kopling ketat.

Di bawah skenario ini, ketergantungan intra-komponen logis berakhir seperti paku jelek yang didorong melalui lapisan Anda yang seharusnya dipisahkan, menariknya menjadi satu seringkali sangat kompleks unit.

Organisasi dengan lapisan harus digunakan dengan hati-hati karena sering meningkatkan kompleksitas sistem total daripada membantu mengendalikannya tetapi ada kasus di mana manfaat yang diberikannya lebih besar daripada kelemahan ini. Dalam kasus tersebut, sering kali lebih baik untuk memisahkan ketergantungan lapisan Anda ke satu tempat dalam kode konsumen Anda daripada memiliki sulurnya menjangkau seluruh basis kode:

Jangan biarkan referensi ke file sumber daya bahasa menyusup ke seluruh basis kode Anda, melainkan petakan semua hasil dan kesalahan dari komponen internal Anda ke pesan sumber daya bahasa di satu tempat dekat lapisan presentasi.

Jangan gunakan objek nilai yang dihasilkan dari skema JSON Anda di luar lapisan layanan Anda, terjemahkan ke objek domain yang tepat dan panggil secepat mungkin.

Menurut Jenis

Organization by kind adalah strategi yang mencoba menertibkan unit kode yang terlalu kompleks dengan membuang bagian-bagiannya ke dalam ember berdasarkan jenis kelas (atau antarmuka) yang dianggap. Dalam melakukan ini ia mengabaikan ketergantungan dan hubungan konseptual dan biasanya menghasilkan paket dengan nama seperti pengecualian , antarmuka , manajer , pembantu , atau entitas .

Organisasi menurut jenisnya berbeda dari organisasi menurut kotak alat dalam hal ini menghilangkan kepura-puraan bahwa kelas-kelas dalam suatu paket saling melengkapi, dapat dipertukarkan, dan/atau membentuk segala jenis perpustakaan yang masuk akal ketika disatukan. Tak seorang pun yang saya tahu menganjurkan menggunakan strategi ini untuk mengatur kode ke dalam kelas atau proyek yang terpisah ( “inilah kelas dengan semua anggota string” atau “inilah proyek di mana kami menempatkan semua pengecualian kami” ).

Saya menganggap pengorganisasian kode berdasarkan jenis berbahaya karena menyembunyikan masalah sebenarnya dari kode kompleks dan dengan demikian membuat pengembang merasa bahwa mereka telah memperbaikinya sementara kompleksitas keseluruhan tetap sama. Contoh di atas terlihat rapi dengan segala sesuatu yang dimasukkan ke dalam paket berukuran gigitan tetapi kebanyakan setiap perubahan membutuhkan menyentuh setiap paket, yang berarti bahwa paket-paket tersebut sebenarnya digabungkan dengan erat. Masalah besar lainnya dengan strategi ini adalah bahwa jika diambil secara ekstrem, setiap kelas harus memiliki jenis yang jelas. Saya telah melihat seluruh basis kode warp ini karena semua jenis hal aneh dibuat dan ditunjuk sebagai Manajer atau Pembantu hanya untuk masuk ke dalam beberapa paket.

Saya menganggap organisasi berdasarkan jenis kode bau tetapi dalam pengalaman saya dari proyek komersial terutama di Jawa dan C# itu cukup umum. Saya percaya bahwa ini terjadi karena tampaknya menyediakan cara mudah untuk mempartisi paket besar dan kebanyakan orang tidak menyadari bahwa ukuran paket bukanlah masalah utama, jumlah bagian yang saling bergantung adalah.

Tujuh Pengembang Platform Kode Rendah Harus Tahu

Tujuh pengembang platform kode rendah harus tahu – Beberapa pengembang merasa ngeri memikirkan penggunaan platform kode rendah yang membawa mereka keluar dari lingkungan Java, .NET, dan JavaScript mereka, atau memisahkan mereka dari IDE mereka, kerangka kerja pengujian otomatis, dan platform devops.

binaryjs

Tujuh Pengembang Platform Kode Rendah Harus Tahu

binaryjs – Yang lain telah menggunakan platform kode rendah sebagai alat yang memungkinkan pengembangan aplikasi yang cepat, mendukung integrasi yang kompleks, dan memberikan pengalaman pengguna seluler.

Tetapi pengembang tidak boleh begitu saja mengabaikan platform kode rendah dan kemampuannya. Bisnis membutuhkan lebih banyak pengembangan aplikasi daripada yang dapat diberikan atau didukung oleh sebagian besar tim TI. TI mungkin tidak menggunakan platform berkode rendah untuk semuanya, tetapi dapat membantu mempercepat pengembangan dan memberikan manfaat tambahan.

Baca Juga : Bagaimana Jika Kode Legacy Sebenarnya Menarik

Platform saat ini memungkinkan tim untuk memberikan, mendukung, dan memperluas beragam aplikasi. Mereka digunakan dalam transformasi digital untuk memberikan pengalaman pelanggan, merampingkan alur kerja, mengotomatiskan integrasi data, dan mendukung visualisasi data.

Banyak perusahaan telah menggunakan platform kode rendah untuk mengembangkan aplikasi dalam menanggapi Covid-19, untuk memodernisasi aplikasi lama, atau untuk mengotomatisasi integrasi di berbagai platform.

Keuntungan platform kode rendah

Platform berkode rendah jauh lebih terbuka dan dapat diperluas saat ini, dan sebagian besar memiliki API dan cara lain untuk memperluas dan berintegrasi dengan platform. Mereka menyediakan kemampuan yang berbeda di sekitar siklus hidup pengembangan perangkat lunak mulai dari perencanaan aplikasi melalui penyebaran dan pemantauan, dan banyak juga antarmuka dengan pengujian otomatis dan platform devops.

Platform berkode rendah memiliki opsi hosting yang berbeda, termasuk cloud terkelola milik sendiri, opsi hosting cloud publik, dan penyebaran pusat data. Beberapa platform kode rendah adalah pembuat kode, sementara yang lain menghasilkan model. Beberapa lebih mirip SaaS dan tidak mengekspos konfigurasinya.

Platform kode rendah juga melayani paradigma pengembangan yang berbeda. Beberapa pengembang menargetkan dan memungkinkan pengembangan, integrasi, dan otomatisasi yang cepat. Lainnya menargetkan profesional pengembangan perangkat lunak dan pengembang warga dengan alat untuk berkolaborasi dan mengembangkan aplikasi dengan cepat.

Kasus penggunaan platform kode rendah Adalah keliru bahwa bisnis memilih dan menggunakan platform berkode rendah hanya untuk alur kerja sederhana, integrasi, formulir, visualisasi data, dan penggantian spreadsheet.

Pengembang menggunakan kode rendah untuk mengembangkan aplikasi yang dihadapi pelanggan dengan cepat, merekayasa alur kerja intensif data, dan mengotomatiskan integrasi. Banyak dari ini adalah aplikasi canggih yang terhubung ke beberapa sistem dan memiliki campuran kemampuan yang diaktifkan oleh platform kode rendah dan kemampuan lain yang dibuat oleh pengembang perangkat lunak melalui ekstensi.

Berikut adalah contoh aplikasi yang dikembangkan pada platform ini.

Appian memungkinkan pengembang untuk dengan cepat membangun solusi untuk kebutuhan bisnis perusahaan, seperti mendefinisikan aplikasi yang mendukung perjalanan pelanggan, mengoptimalkan operasi bisnis, dan menegakkan kepatuhan terhadap kebijakan dan peraturan.

Ryder menggunakan Appian untuk mengembangkan sistem reservasi mobile-first dan mengurangi waktu transaksi menjadi dua. Bayer, misalnya, terintegrasi beberapa sistem back-end untuk uji klinis dan proses otomatis untuk mengurangi waktu pelaporan dari jam ke menit.

Boomi Flow melayani kasus penggunaan otomatisasi, aplikasi seluler, alur kerja yang disematkan, dan kolaborasi organisasi. Perusahaan layanan truk AM Transport menggunakan Boomi untuk mengurangi biaya pertukaran data elektronik (EDI) hingga 50% dengan menyerap dan menganalisis data dari Salesforce, sistem ERP, dan beberapa sistem manajemen transportasi. Universitas seperti Cornell dan University of Sussex menggunakan Boomi untuk berintegrasi di berbagai platform, memperbarui lingkungan pembelajaran virtual, dan merampingkan orientasi.

Caspio membantu bisnis membangun aplikasi kustom dengan mengoptimalkan pengalaman pelanggan dan alur kerja internal. JW Power, operator armada gas alam terkompresi terbesar di AS, menerapkan portal kustom, intranet, dan lebih dari selusin aplikasi TI/operasi.

Mendix unggul dalam kasus penggunaan yang secara tradisional membutuhkan berbagai keahlian teknis dan bisnis, termasuk aplikasi yang dihadapi pelanggan, pengalaman seluler, dan pengganti bayangan TI.

Rabobank memberikan pengalaman pelanggan digital yang lebih baik dan menghadap konsumen dengan Mendix yang juga mengurangi biaya TI hingga 50%. Zurich Insurance Group dengan cepat mengembangkan FaceQuote yang menyediakan penawaran asuransi jiwa prospektif dengan meminta selfie.

OutSystems membantu bisnis mengembangkan aplikasi dalam tiga kategori besar: modernisasi warisan, inovasi tempat kerja, dan transformasi pengalaman pelanggan. Menggunakan OutSystems, kota Oakland mengubah layanan digital untuk warga dengan portal masuk tunggal, dan Humana mengembangkan aplikasi pengalaman pelanggan untuk membantu orang menemukan lokasi tes Covid-19.

Quick Base sebagian besar digunakan untuk memberikan visibilitas real-time ke dalam proses operasional dinamis dalam suatu organisasi. Geisinger Health System menggunakan Quick Base untuk mengembangkan aplikasi operasional Covid-19 yang menugaskan kembali karyawan dan mengisi kekosongan di mana ada kebutuhan kritis.

VisionX sangat kuat dalam situasi di mana kumpulan data kompleks ada dalam kombinasi dengan proses kustom di mana perangkat lunak out-of-the-box tidak tersedia atau tidak cukup fleksibel. Beberapa contoh termasuk manajemen armada untuk kendaraan area ski, manajemen proyek ilmiah untuk penelitian kolaboratif, dan manajemen konfigurasi dan aset untuk komputer kuantum.

Kode rendah, SDLC, dan devops

Platform kode rendah memiliki kemampuan dan pendekatan yang berbeda untuk mendukung siklus hidup pengembangan. Beberapa fokus pada pengembangan yang cepat dan disederhanakan dan sebagian besar mendukung siklus hidup pengembangan penuh pada platform mereka.

Lainnya mengambil satu langkah lebih jauh dan menawarkan pengalaman yang berbeda dan kemampuan terintegrasi yang memungkinkan profesional pengembangan perangkat lunak dan pengembang warga untuk berkolaborasi dalam pengembangan aplikasi. Platform berkode rendah yang menargetkan perusahaan menawarkan lebih banyak integrasi dengan alat devops dan opsi hosting.

Berikut adalah ringkasan tentang bagaimana platform kode rendah yang berbeda memungkinkan pengembangan aplikasi, integrasi, ekstensi, pengujian, dan penyebaran.

Appian memiliki alat penerapan asli dan juga dapat berintegrasi dengan alat pengembang seperti Jenkins. Pengembang dapat memperluas platform dengan Appian Integration SDK dengan plug-in yang dikembangkan di Java dan JavaScript.

Boomi Flow menawarkan tumpukan arsitektur terbuka berdasarkan REST API dan pustaka konektor integrasi yang luas. Ini memiliki debugger bawaan dan pembuatan versi otomatis, dan mendukung banyak penyewa untuk pengembangan, pengujian, dan kebutuhan siklus hidup lainnya. Pengembang juga dapat berintegrasi dengan Git, GitLab, Jenkins, dan sistem kode sumber lainnya.

Caspio memberikan dukungan pengembangan terbantu terutama di dalam platform, termasuk pratinjau waktu nyata dan pembuatan versi aplikasi. Kustomisasi dapat dilakukan dengan JavaScript, dengan SQL, menggunakan REST API Caspio, dan melalui platform integrasi seperti Zapier.

Mendix Cloud mendukung SDLC lengkap yang mencakup manajemen simpanan, kontrol versi, pengujian, dan penerapan. Tim pengembangan dapat memanfaatkan kemampuan ini atau menggunakan integrasi dengan alat seperti Jira, Jenkins, dan segera Git.

Aplikasi dapat diterapkan ke Mendix Cloud, AWS, Azure, GCP, atau sistem lokal, dan dapat digabungkan dengan teknologi container seperti Cloud Foundry, Kubernetes, dan Docker. Pengembang dapat memperluas kemampuan Mendix dengan tindakan Java, JavaScript front-end dan widget pluggable TypeScript, dan opsi ekstensibilitas lainnya.

OutSystems menyediakan alat khusus yang dibutuhkan oleh beragam anggota tim proyek, dan langkah-langkah pengembangan diikat bersama dengan lapisan platform yang disebut sebagai TrueChange.

OutSystems menyatakan bahwa ada beberapa alasan bagi pengembang untuk kembali ke pengkodean tradisional saat membangun aplikasi di platform mereka, dan pengembang dapat dengan mulus mengintegrasikan kode khusus saat diperlukan.

Quick Base adalah tumpukan terintegrasi yang secara otomatis menghasilkan dan menampung aplikasi. Pengembang dapat menguji fungsionalitas dengan kotak pasir Quick Base, memperluas fungsionalitas dengan RESTful API, dan memanfaatkan Quick Base Pipelines untuk integrasi drag-and-drop dan kemampuan otomatisasi.

VisionX adalah platform kode rendah Java yang terintegrasi dengan Eclipse IDE dan mendukung pembuatan kode dua arah. Arsitektur ini memungkinkan pengembang untuk bekerja dengan kontrol versi apa pun dan platform otomatisasi pengujian arus utama. Aplikasi dapat digunakan menggunakan Jenkins atau alat CI/CD lainnya dan dijalankan di server aplikasi seperti Tomcat, WildFly, dan GlassFish.

Baca Juga : Nvidia dan Valve Segera Rilis Teknologi DLSS di Linux

Platform berkode rendah memenuhi kebutuhan akan kecepatan

Apa yang universal dalam berbicara dengan penyedia platform berkode rendah ini adalah keinginan mereka untuk membantu bisnis dan pengembang menanggapi meningkatnya kebutuhan untuk mengembangkan aplikasi alur kerja internal, pengalaman yang dihadapi pelanggan, integrasi, dan otomatisasi.

Mereka tidak mencoba menghilangkan pengkodean, tetapi mengambil langkah untuk bermitra dengan pengembang dan meningkatkan kemampuan mereka untuk mengembangkan dan memperluas aplikasi kelas dunia.

Pelajari Cara Membuat Coding, Panduan Untuk Belajar Otodidak

Pelajari Cara Membuat Coding, Panduan Untuk Belajar Otodidak – Mempelajari kode mungkin tampak menakutkan, tetapi memahami dasar-dasarnya lebih mudah daripada yang Anda kira. Kim Gray dari Code First Girls menjelaskan cara memulai dan mengapa lebih banyak wanita yang mempelajari coding itu penting.

binaryjs

Pelajari Cara Membuat Coding, Panduan Untuk Belajar Otodidak

binaryjs – Anda mungkin pernah mendengar betapa pentingnya lebih banyak wanita mempertimbangkan karier dalam peran STEM (sains, teknologi, teknik, dan matematika) yang didominasi pria . Namun pernahkah Anda mempertimbangkan seberapa besar dampak kurangnya keragaman gender dalam teknologi terhadap dunia?

Sebuah laporan oleh TechNation yang meneliti keragaman di perusahaan teknologi Inggris menemukan hanya 19% dari tenaga kerja teknologi adalah wanita, dan hanya 3% dari mereka adalah wanita kulit hitam dan Hispanik.

Baca Juga : Ketika Kode Biner Tidak Akan Mengakomodasi Orang Nonbiner

Kurangnya perempuan yang bekerja di bidang teknologi berarti mereka tidak terlibat dalam pengembangan teknologi yang, mari kita hadapi itu, mempengaruhi hampir semua bidang kehidupan kita. Misalnya, penelitian oleh Caroline Criado Perez untuk bukunya, Invisible Women , menemukan bahwa rata-rata panjang smartphone adalah 5,5 inci, yang terlalu besar untuk ukuran tangan kebanyakan wanita. Sementara perangkat lunak pengenalan ucapan dilatih pada rekaman suara laki-laki yang berarti Google versi ‘s adalah 70% lebih mungkin untuk memahami pria.

Sangat penting bahwa lebih banyak ruang dibuat untuk wanita dalam industri teknologi. Di sinilah organisasi seperti Code First Girls masuk. Code First Girls adalah penyedia kursus coding gratis terbesar untuk wanita di Inggris, memberikan pendidikan teknologi gratis senilai lebih dari £20 juta dan mengajar tiga kali lebih banyak wanita untuk membuat kode secara keseluruhan. Sistem sarjana universitas Inggris.

“Industri teknologi masih sangat didominasi oleh laki-laki dan Code First Girls ingin membantu lebih banyak wanita masuk dan unggul dalam teknologi,” kata Kim Gray, program senior dan manajer pengiriman di Code First Girls.

Pengkodean adalah jalan yang bagus untuk memasuki industri teknologi, karena ini merupakan persyaratan untuk banyak peran dan dapat membuka banyak pintu berbeda jika Anda tertarik untuk berkarir di bidang teknologi. Plus, Anda dapat belajar melakukannya sepenuhnya dari rumah (dan gratis dengan beberapa kursus Code First Girl), menjadikannya salah satu rute yang paling mudah diakses di sektor ini.

Di sini Kim menguraikan dasar-dasar pengkodean, dari apa sebenarnya pengkodean hingga istilah kunci yang perlu Anda ketahui untuk mempelajarinya.

PERTAMA, LIHAT DI BALIK SEBUAH SITUS WEB
Sebelum menyelam, Kim menyarankan Anda membuka situs web di jendela browser Anda, klik kanan di mana saja di halaman itu dan pilih opsi ‘Lihat Sumber Halaman’.

Apa yang sekarang harus Anda lihat di tab baru adalah kode untuk halaman web tertentu: Anda ‘di belakang panggung’ dan dapat melihat bahasa yang memberitahu komputer Anda bagaimana membuat halaman web ini terlihat seperti itu.

Bahasa apa itu kode?

“Saat ini, bahasa kode sumber mungkin tidak terlalu berarti bagi Anda,” kata Kim. “Anda mungkin dapat memilih frasa atau kata asing yang aneh, tetapi yang lainnya mungkin tampak seperti kombinasi tanda hubung, titik koma, dan tanda kurung yang membingungkan.”

Bahasa pengkodean (juga dikenal sebagai bahasa pemrograman) tidak seperti bahasa dengan kosakata, tata bahasa , dan abjad. Alih-alih, bahasa pengkodean memiliki perintah khusus: ‘kode’ yang dapat ditafsirkan komputer Anda menjadi apa yang Anda lihat secara visual di layar.

“Semua perangkat lunak (setiap aplikasi atau situs web yang Anda gunakan) telah dikodekan,” kata Kim, menambahkan bahwa, “setiap bahasa pengkodean unik dan ratusan bahasa pengkodean ada.”

Beberapa bahasa pengkodean paling populer yang mungkin pernah Anda dengar adalah:

  • JavaScript
  • Python
  • SQL

Oke, tapi apa itu koding?

“Pengkodean adalah proses penulisan kode, atau instruksi, agar mesin dapat memahami, menafsirkan, dan meresponsnya,” jelas Kim.

Komputer hanya dapat memahami bahasa biner, bukan bahasa manusia. Ini berarti hanya istilah seperti “ya” atau “tidak”, “1” atau “0” yang akan dipahami.

“Untuk menginstruksikan komputer, Anda perlu menerjemahkan bahasa manusia ke bahasa biner,” jelas Kim. “Inilah tujuan dari kode: bentuk tertulis yang bukan biner, tetapi mudah dipelajari manusia dan dipahami komputer.”

Bagaimana komputer memahammi kode tertulis?

“Sederhananya, ada program yang dibangun ke dalam komputer Anda yang menerjemahkan kode Anda ke dalam bahasa biner untuk ditafsirkan oleh komputer Anda,” kata Kim.

“Ini rumit dan Anda tidak perlu mengetahui seluk beluknya, tetapi sangat berguna untuk mengetahuinya sebelum memulai perjalanan coding Anda.”

Apa istilah pengkodean utama yang perlu saya ketahui?

Ada ratusan bahasa pemrograman tetapi sebelum mempelajari bahasa teknis pertama Anda, penting untuk memahami dasar-dasar HTML (HyperText Markup Language) dan CSS (Cascading Style Sheets). Bersama dengan JavaScript, ini adalah dua hal yang akan berinteraksi langsung dengan pengguna situs web dengan front-end.

“HTML dan CSS secara teknis bukanlah bahasa pemrograman, tetapi HTML dan CSS menyediakan struktur dan gaya,” kata Kim.

HTML

HTML adalah inti dari setiap situs web. Ini berisi setiap elemen halaman: gambar, paragraf, judul, dan tag lainnya.

CSS

Cascading Style Sheets memberikan tampilan halaman web Anda. Ini menentukan warna dan ukuran setiap elemen. Mereka memposisikan bagian pada halaman dan menentukan atribut desain lainnya.

JAVASCRIPT

Sering bingung dengan bahasa pemrograman Java, JavaScript atau hanya JS membuat situs Anda interaktif. Jika Anda mengetahui HTML, CSS, dan JavaScript, Anda dapat mulai mengembangkan game online sederhana. JS digunakan untuk memvalidasi formulir sebelum mengirimkan, untuk menganimasikan tayangan slide, dan untuk menghidupkan situs.

Setelah Anda memahami bagaimana HTML, CSS, dan JS bekerja bersama, Anda dapat mulai membangun halaman web atau game online pertama Anda.

Bagaimana cara memulai pengkodean?

Yang Anda butuhkan untuk memulai pengkodean adalah laptop dan beberapa perangkat lunak pengkodean, yang bisa Anda dapatkan secara gratis. Kim merekomendasikan menggunakan perangkat lunak yang disebut Visual Studio Code yang dapat diunduh ke laptop apa pun. Perangkat lunak ini akan memungkinkan Anda untuk mulai mengedit dan coding.

“Sangat mungkin bagi orang untuk belajar mandiri,” kata Kim, menambahkan ada banyak sumber daya gratis di luar sana jika Anda tidak ingin bergabung dengan grup atau kursus. Tetapi Kim merekomendasikan untuk bergabung dengan kursus untuk “menciptakan komunitas Anda sendiri di sekitar pembelajaran Anda”.

“Pengkodean bisa terasa menakutkan sehingga memiliki komunitas yang mendukung bisa menjadi manfaat nyata,” kata Kim.

Ada beberapa kursus, ada yang gratis dan ada juga yang harus Anda bayar. Kursus yang direkomendasikan Kim untuk pemula adalah:

MOOCs – Kursus Online Terbuka Massive : Sesi ini adalah sesi uji coba satu kali CFG untuk pemula. Mereka sempurna jika Anda ingin terjun ke dunia pengkodean tetapi tidak siap untuk berkomitmen pada suatu kursus.

Career Switcher : Jika Anda siap berkomitmen untuk coding, ini akan membantu Anda mengubah karier untuk memasuki industri teknologi atau untuk meningkatkan keterampilan.

Saran untuk memulai

Mengukir waktu

Belajar coding adalah sebuah komitmen, sama seperti belajar bahasa, jadi Anda perlu memastikan bahwa Anda menghabiskan banyak waktu untuk mempraktikkannya setiap minggu. “Coba dan tetapkan waktu, seperti dua jam pada Rabu malam setiap minggu, untuk melakukan beberapa kode atau mengerjakan latihan online,” kata Kim. “Memiliki jadwal yang teratur sangat berguna.”

Beristirahatlah secara teratur

Pengkodean mengharuskan Anda untuk melihat layar untuk waktu yang lama, yang tidak baik untuk kesehatan atau suasana hati Anda. Kim merekomendasikan untuk beristirahat setiap 20 menit. “Sangat mudah untuk tetap berada di satu posisi dan terus melihat ke layar, tetapi saya merasa ini dapat membantu menyetel alarm reguler untuk istirahat lima menit.” Ini juga akan memastikan Anda tidak kehilangan kesabaran dengan pengkodean. Istirahat dapat membantu Anda maju lebih cepat dan melihat sesuatu dengan lebih jelas.

Temukan komunitas

Kim menekankan pentingnya menemukan orang lain yang juga belajar coding, terutama sebagai seorang wanita. Industri teknologi sangat didominasi laki-laki, jadi sangat penting untuk memastikan Anda tidak merasa terisolasi. “Ini adalah cara terbaik untuk tetap termotivasi,” katanya, menjelaskan bahwa memulai perjalanan coding Anda dengan orang lain adalah cara yang bagus untuk membuat diri Anda bertanggung jawab.

Mengapa pengkodean berguna dan karier apa yang ada?

“Di dunia yang semakin digital, belajar coding dapat membuka banyak pintu, terlepas dari industri yang Anda inginkan untuk bekerja atau pekerjaan yang Anda inginkan,” kata Kim.

Mengetahui cara membuat kode sangat penting jika Anda ingin masuk ke industri seperti pengembangan perangkat lunak, tetapi memiliki keterampilan teknis juga dapat berguna dalam menemukan peran di berbagai bidang mulai dari pemasaran hingga pembuatan konten.

“Memiliki pemahaman tentang coding dapat membuat Anda lebih mahir dalam mempelajari teknologi digital lainnya dengan cepat dan menjadi fasih secara digital,” kata Kim. “Selain meningkatkan CV Anda , itu juga dapat membantu mendukung pemecahan masalah dan pemikiran logis Anda.”

“Jika Anda seorang ‘idea person’ dan ingin mewujudkan ide-ide Anda, belajar coding dapat menghemat waktu dan uang Anda ,” kata Kim. “Anda dapat secara langsung bertanggung jawab atas visi yang berkembang untuk suatu merek atau produk dan akan dapat membuat kode perubahan segera setelah Anda memiliki momen bola lampu.”

Baca Juga : Jenis Sistem Operasi di PC yang Harus Kamu Ketahui

Ada banyak pilihan karir yang berbeda di bidang teknologi, termasuk insinyur perangkat lunak, perancang produk dan manajer proyek dan meskipun Anda mungkin tidak membuat kode dalam keseharian Anda untuk beberapa peran ini, memiliki pemahaman tentang pengkodean pasti akan membantu.

Jika Anda baru mengenal pengkodean, mengidentifikasi sebagai womxn atau non-biner, dan mencari kursus pengantar dalam Pengembangan Web, Pemrograman Python, dan pemrograman Data & SQL, maka periksa Code First Girls (CFG).