প্রোগ্রামারদের মধ্যে একটা জোকস আছে যে কোনো একটা প্রোগ্রাম লিখতে যে সময় লাগে, প্রোগ্রামটা ডিবাগ করতে তার থেকে বেশি সময় লাগে।
উপরের ছবিটা সুন্দর না ? আসল কথা হলো আমাদের কোড লেখার থেকে কোড পড়তে হয় বেশি।আন্ডারস্ট্যান্ডএবল কোড আমাদের ব্রেইনের ব্যান্ডউইথ কে ফ্রি করে দেয়। ক্লিন,রিডএবল কোড লেখা কিন্তু একটা যোগ্যতা। এজন্য আমাদের চেষ্টা করতে হবে যতটা সম্ভব রিবাবলে কোড লেখার যে কোড নিজে কথা বলে। যেমন: আমি যদি কোনো ভ্যারিয়েবল নাম c_t_num এর পরিবর্তে calculate_total_number নেই তাহলে বেশি রিডেবল হবে।
পাইথন এ পেপ ৮ নামে অফিসিয়াল কোডিং স্টাইল এর গাইড আছে। পেপ ৮ এর কিছু জিনিশ আমি লিখছি -
পাইথন কোডিং কনভেনশন -
১. ৪ টা স্পেস / ১ ট্যাব ব্যবহার করতে হবে ইনডেন্ট হিসেবে
২. প্রত্যেক ক্লাসের মধ্যে ২ টা ব্ল্যান্ক লাইন দিতে হবে
৩. ক্লাসের মধ্যে মেথড ডেফিনেশন করতে ১ তা ব্ল্যান্ক লাইন দিতে হবে।
pycharm পাইথন এর একটা জনপ্রিয় IDE . এতে ডিফল্ট স্টাইল বলা আছে। আপনি ফলো না করলে ইয়েলো কালার এর একটা দাগ আসবে। তাছাড়া যারা অন্য টেস্ট এডিটর ব্যবহার করেন তারা flake৮ প্যাকেজ ইনস্টল করে নিতে পারেন।
৭৯-Character লিমিট -
pycharm এ দেখবেন লেফট সাইড এর দিকে ভার্টিক্যাল লাইন আছে। এর মানে হলো কোনো লাইন যদি ৭৯ character এর বেশি হয় তাহলে এই লাইন ক্রস করবে এবং কোডিং স্টাইল গাইড অনুযায়ী পত্তেক লাইন ৭৯ char এর মধ্যে হবে। কিন্তু কোড ৭৯ char এর মধ্যে ফিট করার জন্য ভ্যারিয়েবল নেম রিডেবল না নেওয়ার কোনো যুক্তিই নেই।
import স্টাইল -
পাইথন ওর জ্যাঙ্গো , ইম্পোর্ট এর ৩ টি অর্ডার আছে
১. প্রথমে পাইথন এর স্ট্যান্ডার্ড লাইব্রেরি গুলা থাকবে
২. দ্বিতীয়ত রিলেটেড থার্ড পার্টি ( উদাহরণ দিলে বুঝে যাবেন )
৩. লোকাল এপ্লিকেশন অথবা লাইব্রেরি স্পেসিফিক ইম্পোর্ট
এখানে জ্যাঙ্গো এর উদাহরণ দিলে ভালো বোঝা যাবে -
আমি বোঝানোর জন্য কমেন্ট(# দিয়ে শুরু লাইন) ব্যবহার করেছি।
এভোইড ইম্পোর্ট ষ্টার (*)
পরের পোস্ট এ জ্যাঙ্গো এর কিছু স্টাইল নিয়ে লিখবো। আজ টা টা :)
উপরের ছবিটা সুন্দর না ? আসল কথা হলো আমাদের কোড লেখার থেকে কোড পড়তে হয় বেশি।আন্ডারস্ট্যান্ডএবল কোড আমাদের ব্রেইনের ব্যান্ডউইথ কে ফ্রি করে দেয়। ক্লিন,রিডএবল কোড লেখা কিন্তু একটা যোগ্যতা। এজন্য আমাদের চেষ্টা করতে হবে যতটা সম্ভব রিবাবলে কোড লেখার যে কোড নিজে কথা বলে। যেমন: আমি যদি কোনো ভ্যারিয়েবল নাম c_t_num এর পরিবর্তে calculate_total_number নেই তাহলে বেশি রিডেবল হবে।
পাইথন এ পেপ ৮ নামে অফিসিয়াল কোডিং স্টাইল এর গাইড আছে। পেপ ৮ এর কিছু জিনিশ আমি লিখছি -
পাইথন কোডিং কনভেনশন -
১. ৪ টা স্পেস / ১ ট্যাব ব্যবহার করতে হবে ইনডেন্ট হিসেবে
২. প্রত্যেক ক্লাসের মধ্যে ২ টা ব্ল্যান্ক লাইন দিতে হবে
৩. ক্লাসের মধ্যে মেথড ডেফিনেশন করতে ১ তা ব্ল্যান্ক লাইন দিতে হবে।
pycharm পাইথন এর একটা জনপ্রিয় IDE . এতে ডিফল্ট স্টাইল বলা আছে। আপনি ফলো না করলে ইয়েলো কালার এর একটা দাগ আসবে। তাছাড়া যারা অন্য টেস্ট এডিটর ব্যবহার করেন তারা flake৮ প্যাকেজ ইনস্টল করে নিতে পারেন।
৭৯-Character লিমিট -
pycharm এ দেখবেন লেফট সাইড এর দিকে ভার্টিক্যাল লাইন আছে। এর মানে হলো কোনো লাইন যদি ৭৯ character এর বেশি হয় তাহলে এই লাইন ক্রস করবে এবং কোডিং স্টাইল গাইড অনুযায়ী পত্তেক লাইন ৭৯ char এর মধ্যে হবে। কিন্তু কোড ৭৯ char এর মধ্যে ফিট করার জন্য ভ্যারিয়েবল নেম রিডেবল না নেওয়ার কোনো যুক্তিই নেই।
import স্টাইল -
পাইথন ওর জ্যাঙ্গো , ইম্পোর্ট এর ৩ টি অর্ডার আছে
১. প্রথমে পাইথন এর স্ট্যান্ডার্ড লাইব্রেরি গুলা থাকবে
২. দ্বিতীয়ত রিলেটেড থার্ড পার্টি ( উদাহরণ দিলে বুঝে যাবেন )
৩. লোকাল এপ্লিকেশন অথবা লাইব্রেরি স্পেসিফিক ইম্পোর্ট
এখানে জ্যাঙ্গো এর উদাহরণ দিলে ভালো বোঝা যাবে -
# Std lib import
import requests
from math import sqrt
# Core Django Import
from django.db import models
from django.utils.translation import ugett
# Import from your local app
from .models import Profile
from .froms import LoginForm
আমি বোঝানোর জন্য কমেন্ট(# দিয়ে শুরু লাইন) ব্যবহার করেছি।
এভোইড ইম্পোর্ট ষ্টার (*)
from math import *
* মানে ওই মডিউলে সবটাই ধরে ইম্পোর্ট করা। এইটা একটব্যাড প্র্যাক্টিস। আমরা শুধু সেইটায় ইম্পোর্ট করবো যেটা আমার দরকার।from math import math, pow
পরের পোস্ট এ জ্যাঙ্গো এর কিছু স্টাইল নিয়ে লিখবো। আজ টা টা :)
Comments
Post a Comment