একজন ভালো প্রোগ্রামার হওয়ার ১০টি টিপস - TIMES EXPRESS | টাইমস এক্সপ্রেস is an interactive news portal

নিউজ ফাস্ট

একজন ভালো প্রোগ্রামার হওয়ার ১০টি টিপস



 


১) প্রোগ্রামিংয়ের কিছু বেসিক কনসেপ্ট খুবই ভালো জানতে হবে,  যেমন – ভ্যারিয়েবল , কন্ট্রোল স্টেটমেন্ট() , লুপ() , এরে  এবং  ফাঙ্কশন। সব ল্যাঙ্গুয়েজেই কনসেপ্টগুলো একই , কিছু সিনট্যাক্স আলাদা আলাদা রয়েছে। আপনাকে প্রথমে কনসেপ্টগুলো ভালো করে শিখার জন্য যেকোনো একটা ল্যাঙ্গুয়েজ বেছে নিতে হবে।  পপুলার কিছু প্রোগ্রামিং ল্যাংগুয়েজ হলো – পাইথন, C , C++, জাভা, php, C# ইত্যাদি।


২) প্রোগ্রাম কেমন পারফরম্যান্স করছে ? বিভিন্ন ডাটা কেমন ভাবে রাখতে হয় , কোন ডাটা আগে পাস হবে কোনটা পরে ? এগুলো ফিক্সড করার জন্য কিছু ডাটা স্ট্রাকচার এবং এলগোরিদম জানতে হবে। তার মধ্যে হ্যাশ টেবিল (hash table) বা ডিকশনারি মাস্ট শিখতে হবে। তারপরে Stack এবং Queue সম্পর্কে কিছু আইডিয়া নিতে হবে। লিংকড লিস্ট , ট্রি সম্পর্কে ধারণা থাকা ভালো। টাইম কমপ্লেক্সিটি এবং স্পেস কমপ্লেক্সিটি সম্পর্কে অবশ্যই একজন ভালো প্রোগ্রামার এর ধারণা থাকে।


৩) আমরা যেকোনো সফটওয়্যারই বানাই না কেন কমন একটা জিনিস থাকে সার্চ। এই সার্চ আমরা কুয়েরি দিয়ে ডাটাবেস থেকে ডাটা ফন্ট এন্ড এ রেন্ডার করে দেখিয়ে থাকি। কিনতু ,একটা array এর মধ্যে নির্দিষ্ট কোন একটা উপাদান খুঁজে বের করা পদ্ধতিতে বলা হয় search। মিনিমাম linear search এবং binary search এর কোড নিজ হাতে লিখে প্রাকটিস করতে হবে।


৪)একটা array এর উপাদানগুলিকে এসেন্ডিং এবং ডিসেন্ডিংপদ্ধতিকে প্রোগ্রামিং এর ভাষায় sorting বলে। কমপক্ষে bubble sort নিজ হাতে প্রোগ্রামিং করতে পারতে হবে। অন্যসব sorting যেমন, merge sort, selection sort, insertion sort নিজে নিজে প্রোগ্রামিং করা আস্তে আস্তে শিখে নিতে হবে। এখানে আর একটু আমি বলবো, ডাইনামিক প্রোগ্রামিং কনসেপ্ট এবং গ্রাফ থিওরী সম্পর্কে ভালো ধারণা থাকলে আপনি অনেক প্রব্লেম খুব সহজেই হ্যান্ডেল করতে পারবেন। কাজেই, এসম্পর্কে যতটুকু পড়ুন ধারণা রাখুন


৫) কোন একটা সফটওয়্যার এপ্লিকেশনের ডাটা সংরক্ষণে ডাটাবেস ব্যবহার করা হয়। ডাটাবেস গুলো বিভিন্ন টাইপ হয়ে থাকে। রিলেশনাল ডাটাবেস  যেমন – MySQL, SQL, ওরাকল ইত্যাদি, আবার আনস্ট্রাকচার্ড ,সেমী-স্ট্রাকচার্ড, কিংবা large ডাটাসেট এর জন্য ব্যবহার করা হয় NoSQL ডাটাবেস। ডাটাবেসে কিভাবে ডাটা রাখতে হয়, বের করে আনতে হয় সেটা জানতে হবে (এবং CRUD অপারেশন)।


৬) OOP কনসেপ্ট সম্পর্কে ধারনা থাকতে হবে। Object Oriented Programming যেটাকে সংক্ষেপে OOP বলা হয়। OOP তে প্রোগ্রাম এর বিভিন্ন জিনিসকে বাস্তব দুনিয়ার বস্তু বা অবজেক্ট হিসেবে চিন্তা করা হয়। OOP এর তিনটা প্রধান অংশ- Inheritance, Encapsulation এবং Polymorphism সম্পর্কে ক্লিয়ার ধারণা থাকতে হবে।

এর পর অ্যাবস্ট্রাক্ট এবং ইম্প্লিমেন্টস সম্পর্কেও ধারণা নিতে হবে।


৭) সব প্রোগ্রামিং ল্যাঙ্গুয়েজেরই কিছু জনপ্রিয় প্যাকেজ/লাইব্রেরি/ফ্রেমওয়ার্ক থাকে। আপনাকে কমপক্ষে একটা ভালো করে জানতে হবে। তবে ধীরে ধীরে আরো কয়েকটা সম্পর্কে ধারণা নিতে হবে। কিছু ফ্রেমওয়ার্ক যেমন – জাভা (Spring), পাইথন(Django, ফ্লাস্ক), PHP(লারাভেল,সিম্ফনি ) . প্রোগ্রামিং করার সময় বিভিন্ন সফটওয়্যার এবং IDE এর ব্যবহার করা হয়। যেমন, PHPStrom, SublimeText , Netbeans, Pycharm, VSCode, Visual Studio .. আপনার দরকার অনুযায়ী যেগুলো শিখতে হবে সেটা শিখে নিবেন।



৮) কোন একটা বিশাল সফটওয়্যার প্রোগ্রামে যদি একাধিক প্রোগ্রামার কাজ করে, তাইলে কোডগুলা কোন একটা ভার্সন কন্ট্রোল বা সোর্স কন্ট্রোল সফটওয়্যার দিয়ে সেইভ করা হয়। সোর্স কন্ট্রোল সফটওয়্যার এর মধ্যে সবচেয়ে বেশি জনপ্রিয় -Github, Gitlab, BitBucket । স্মার্ট প্রোগ্রামার হতে হলে অবশ্যই গিট্ সম্পর্কে ভালো ধারণা লাগবে।


৯) আপনি একজন সফটওয়্যার ইঞ্জিনিয়ার আপনার কোড ঠিক আছে কিনা এটা জানার জন্য টেস্টিং এবং ডিবাগিং সম্পর্কে খুবই ভালো নলেজ থাকা আপনার জন্য খুবই প্লাস পয়েন্ট। প্রতিটি IDE তেই ডিবাগ টুল দেওয়া থাকে আর না দেওয়া থাকলে add করে নিবেন। টেস্টিং সফটওয়্যার হিসাবে সেলেনিয়াম খুবই জনপ্রিয়।


১০) আপনি সফটওয়্যার ডেভেলপ করছেন অথচ রিকোয়ার্মেন্ট সম্পর্কে ধারণা নেই !!! এটা হতে পারে না , কিভাবে রিকোয়ার্মেন্ট হ্যান্ডেল এবং এনালাইসিস করতে হয় একটু নলেজ তো থাকতেই হবে। আর, SDLC ফলো করতে হবে যেকোনো একটা। SDLC মানে হলো Software Development Life cycle . অনেকগুলো টেকনিক আছে তার মধ্যে waterfall মডেল, agile- scrum ইত্যাদি জনপ্রিয়। ভালো সফটওয়্যার বানানোর জন্য design patterns, কোড রেফ্যাক্টরিং এবং রিভার্স ইঞ্জিনিয়ারিং সম্পর্কে ধারণা রাখতে হবে।



কোন মন্তব্য নেই