কীভাবে কাকতালীয়ভাবে প্রোগ্রামিং কাটিয়ে উঠবেন? [বন্ধ]


24

প্র্যাকমেটিক প্রোগ্রামার বইয়ে লেখকরা কাকতালীয় ধারণা দ্বারা প্রোগ্রামিংয়ের কথা উল্লেখ করেছেন । এটি ব্যাখ্যা করে যে এটি কী, কেন এটি হয়, কী কী বিপদ আপনার মুখোমুখি হতে পারে এবং এটি যুদ্ধে একটি ল্যান্ডমাইন মাঠের সাথে তুলনা করে।

আপনি কি কখনও পুরানো কালো-সাদা যুদ্ধের সিনেমাগুলি দেখেন? ক্লান্ত সৈনিক সতর্কতার সাথে ব্রাশ থেকে বেরিয়ে আসে। সামনে একটি সাফাই আছে: এখানে কোনও ল্যান্ড মাইন রয়েছে, না পার করা নিরাপদ? এটি কোনও খনি ক্ষেত্রের কোনও ইঙ্গিত নেই — কোনও চিহ্ন, কাঁটাতারের বা ক্রেটার নেই। সৈন্য একটি বিস্ফোরণ প্রত্যাশা করে তার বেয়নেট এবং জয়ের সাথে তার সামনে মাটি ঠেলে দেয়। একটিও নেই তাই তিনি কিছুক্ষণের জন্য মাঠের মধ্যে দিয়ে কঠোর পরিশ্রম করে এগিয়ে যাচ্ছেন এবং যেতে যেতে হাঁসছেন। অবশেষে, নিশ্চিত হয়েছিলেন যে মাঠটি নিরাপদ, তিনি সোজা হয়ে গর্বের সাথে এগিয়ে যান, কেবল টুকরো টুকরো করে উড়িয়ে দেওয়া হবে।

খনিগুলির জন্য সৈনিকের প্রাথমিক তদন্তগুলি কিছুই প্রকাশ করেনি, তবে এটি কেবল ভাগ্যবান। তাকে ভ্রান্ত সিদ্ধান্তে নিয়ে যাওয়া হয়েছিল dis বিপর্যয়কর ফলাফল সহ।

বিকাশকারী হিসাবে, আমরা খনি ক্ষেত্রগুলিতেও কাজ করি। প্রতিদিন আমাদের ধরার জন্য কয়েকশ ফাঁদ রয়েছে। সৈনিকের কাহিনী স্মরণে রেখে আমাদের ভ্রান্ত সিদ্ধান্তে উঠতে সাবধান হওয়া উচিত। আমাদের ইচ্ছাকৃতভাবে প্রোগ্রামিংয়ের পক্ষে - ভাগ্য এবং দুর্ঘটনাজনিত সাফল্যের উপর নির্ভর করে প্রোগ্রামিং এড়ানো উচিত ...

তবে তারা "এটি কীভাবে কাটিয়ে উঠবে" ইস্যুটি বর্ণনা করেছেন তাতে আমি সত্যিই সন্তুষ্ট নই। হ্যাঁ, কোড লেখার আগে আপনাকে ভাবতে হবে, তবে কীভাবে অনুশীলন করবেন? কেবলমাত্র আমি ভাবতে পারি হ'ল বিদ্যমান ওপেন সোর্স প্রকল্পগুলিতে বৈশিষ্ট্য যুক্ত করা, যেখানে "আমি এখন কী করছি" এবং "কোডের অন্যান্য অংশগুলি কীভাবে কাজ করছে" উভয় সম্পর্কে আপনার জ্ঞান থাকতে হবে, এবং এটি প্রযোজ্য নয় আপনি যখন নিজের প্রকল্প লিখছেন।

সম্পাদনা করুন:

আপনার পোস্টগুলি থেকে একটি সংক্ষিপ্তসার:

  • আপনার পরবর্তী পদক্ষেপ অনুমান করবেন না, প্রমাণ করুন এটি সঠিক
  • ইউনিট পরীক্ষা এবং রিফ্যাক্টর যতটা সম্ভব সম্ভব, যখন প্রয়োজন হয়
  • বৈশিষ্ট্যগুলি প্রায়শই – সংকলন – পরীক্ষা যুক্ত করুন
  • আপনি যদি কোনও শব্দটিকে কোডটি ব্যাখ্যা করতে না পারেন তবে আপনি সম্ভবত কাকতালীয়ভাবে প্রোগ্রামিং করছেন।

বিটিডাব্লু, একটি উত্তর গ্রহণ করা কঠিন, এটি সত্যিই শক্ত। সমস্ত উত্তর সত্যিই দুর্দান্ত :)


6
এটি এমন লোকেদের প্রাগগ্রোগ . com/the-pragmatic-programmer/extracts/coincidence এর মতো লিঙ্ক পেতে দীর্ঘকাল ধরে বইটি না পড়তে সহায়তা করবে ।
বুটিলি

আপনার যদি খুব সংক্ষিপ্ত প্রোগ্রামিং ক্যারিয়ার না থাকে (বা এক লোকের দোকান হয়), আপনি সম্ভবত এমন কোডটি দেখতে পেলেন যা অদ্ভুতভাবে পরিচিত এবং পরে কিছু কোড-ওয়াকিং দেখায়, পেনিটি ড্রপ হয়: এটি আপনার। এটি কেবল একটি ওপেন সোর্স বিবেচনা নয় ...
রবি ডি

@ রবি ডি। আপনি কি আরও একটু স্পষ্ট করতে পারেন? আমি তোমাকে পাই না প্রকৃতপক্ষে, আমার একটি ছোট প্রোগ্রামিং ক্যারিয়ার রয়েছে এবং জুনিয়র-প্রোগ্রামার ট্যাগের কারণটি উল্লেখ করি।
পাই_স্ক্রিপ্ট

2
@py_script আমি কেবল এই বিষয়টিই তৈরি করছিলাম যে আপনি কয়েক বছরের পরে আপনার নিজের কোড জুড়ে সহজেই আসতে পারেন (এবং এটির দ্বারা বোকামি হওয়া) অন্য কারওর মতো। সুতরাং আপনি যদি ভাল অভ্যাস দিয়ে শুরু করেন তবে এটি পরে লভ্যাংশ প্রদান করবে।
রবি ডি

উত্তর:


26

আপনাকে সামনে চিন্তা করতে হবে না, যা করা হয়েছিল তা সম্পর্কে কেবল পরিষ্কার, এবং আপনি এখনই কী করছেন সে সম্পর্কে খুব পরিষ্কার।

সাবরুটাইনগুলি তাদের যা করা উচিত তা বলতে হবে, তারা যা বলেছে তা করা উচিত এবং কোনও লুকানো নির্ভরতা নেই। তারপরে কেউ তাদের কল করলে তারা কী করবে সে সম্পর্কে আরও সহজেই যুক্তি করতে পারেন।

বৈশ্বিক রাষ্ট্র এড়িয়ে চলুন। (ভেরিয়েবলস, সিলেটলেটস, ইত্যাদি) জিনিসগুলি কী বোঝার জন্য আপনার মাথায় যত বেশি অবস্থা থাকতে হবে, কী ঘটবে বলে মনে করা এবং প্রান্তের কেসগুলি খুঁজে পাওয়া তত কঠিন।

ইউনিট পরীক্ষা লিখুন। আপনি সুনির্দিষ্ট আদর্শ আচরণটি আবিষ্কারের পরিবর্তে আপনি সবেমাত্র লিখেছেন কোডের আসল আচরণ ক্যাপচারের জন্য ইউনিট পরীক্ষাগুলি দুর্দান্ত great

আপনার সম্পাদনা / সংকলন / পরীক্ষার চক্রটি ছোট করুন। আপনি যখন কোডের একটি বিশাল অংশ যুক্ত করেন এবং খারাপভাবে পরীক্ষা করেন, তখন সমস্যাগুলি হ'ল এটি আপনার ভাবনার চেয়ে আলাদা আচরণ করবে। তারপরে আপনি কিছু এলোমেলো পরিবর্তন দিয়ে এটিকে "ফিক্স" করেন এবং মুহুর্তের জন্য আপনি সঠিক উত্তর পেয়েছেন তবে বাস্তবে কীভাবে ঘটেছিল তা জানেন না। আপনি এখন কাকতালীয়ভাবে প্রোগ্রামিং করছেন। তবে আপনি যখন 5 টি লাইন যুক্ত করেন এবং তারপরে পরীক্ষা করেন, তখন যে সঠিক প্রতিক্রিয়াগুলি আপনি সঠিক উত্তরটি পেয়েছিলেন তা এটি কার্যকরভাবে কাজ করে বলে আপনার মনে হয় যে এটি কাজ করে অনেক ভাল। আমি অভিজ্ঞতা থেকে বলতে পারি যে পৃথকভাবে পরীক্ষিত 10 টি লাইনের 5 টি অংশগুলি একবারে পরীক্ষিত 50 লাইন কোডের চেয়ে খুব আলাদা জন্তু।

নির্মমভাবে রিফ্যাক্টর। অনেক সময় আমি এমন একটি রিফ্যাক্টর স্পট করেছি যা আমার কোডটি কিছুটা সহজ করে দেবে তবে আমি যা করতে চাই না তা একগুচ্ছ কাজ গ্রহণ করে। আমি অগ্রাধিকার হিসাবে ইচ্ছাকৃতভাবে এই রিফ্যাক্টরদের মোকাবেলা শুরু করার পরে, আমি খুঁজে পেয়েছি যে এটি সাধারণত এক মাসের মধ্যেই নিজের জন্য মূল্য পরিশোধ করে। তবে কীটিটি নোট করুন, আমি যে রিফ্যাক্টরগুলিতে ফোকাস করছি সেগুলি হ'ল যা প্রতিদিনকে জীবনকে সহজতর করে তোলে, এবং ভাল বা আরও সাধারণের কিছু স্বেচ্ছাচারী নান্দনিকতার সাথে মিলিত হয় না। এই রিফ্যাক্টররা আমি আরও বেশি সতর্ক হতে শিখেছি।

এগুলির কোনওটির জন্যই অগ্রিম পরিকল্পনার প্রয়োজন নেই। তবে তারা সকলেই আপনার বিদ্যমান কোডটি বোঝা সহজ করে তোলে এবং তাই আপনার পরবর্তী সামান্য অংশটি ইচ্ছাকৃতভাবে কার্যকর করা সহজ করে তোলে।


ধন্যবাদ, সত্যিই ভাল উত্তর। আমি চক্র সম্পর্কে অংশ সত্যিই মূল্যবান বলে মনে করি। আপনি কি আমাকে এগুলি করা উচিত তা রিফ্যাকচারিংয়ের উদাহরণ দিতে পারেন, তবে বাস্তবায়নে সত্যই সময় লাগবে এবং এটি কারও নিরুৎসাহিত করতে পারে?
পাই_স্ক্রিপ্ট

1
আমার কাছে প্রচুর উদাহরণ রয়েছে। একটি সি ++ প্রকল্পে আমি স্ট্রিংফিকেশন পদ্ধতি ছাড়াই ক্লাস তৈরি করেছি। এগুলি তৈরি করার পরে, ডিবাগিং সহজ হয়ে যায় এবং বিকাশের গতি বাড়িয়ে দেয়। পার্ল প্রকল্পে আমাদের একটি কনফিগারেশন হ্যাশ ছিল যেখানে প্রতিটি বিকাশকারীর প্রতিটি নতুন কনফিগারেশনের নিজস্ব টুইঙ্ক অনুলিপি ছিল। কনফিগারেশন প্যারামিটার যুক্ত করা একটি ব্যথা ছিল কারণ আপনাকে প্রতিটি বিকাশকারীর কনফিগারেশন সম্পাদনা করতে হয়েছিল। আমি হ্যাশগুলির জন্য টেমপ্লেট সিস্টেমটি লিখেছি এবং এটি আরও সহজ হয়ে গেছে। একটি প্রতিবেদনের সিস্টেমে আমি মধ্যবর্তী ফলাফলগুলি দেখানোর জন্য একটি বৈশিষ্ট্য যুক্ত করেছি। আমার বিকাশ ত্বরান্বিত হয়েছে, এবং আমি এমনকি একটি ব্যবহারকারী বাগ রিপোর্ট পেয়েছি ...
btilly

1
যেখানে ফিনান্স ডিপার্টমেন্ট আমার যুক্তি সন্ধান করেছিল এবং সঠিক জিজ্ঞাসাটি পেয়েছিল যার উপর আমি ভুল হয়ে গিয়েছিলাম এবং আমার বাগটি কী ছিল। (আমি দুর্ঘটনাক্রমে UNIONযেখানে আমার প্রয়োজন সেখানে সদৃশ সারিগুলি স্কোয়াশ করছিলাম UNION ALL)) এবং আরও অনেক কিছু।
btilly

1
একমাসের ভিতরে? আমি সাধারণত দেখতে পাই যে প্রতিটি সময় আমি কোডটি স্পর্শ করি বলে মনে করি এটি রিফ্যাক্টর হওয়া উচিত, তবে রিফ্যাক্টর করা হয়নি, এটি রিফ্যাক্টর করতে প্রায় যতটা সময় নেয় তা লাগে।
অ্যামি ব্লাকনশিপ

1
নিবন্ধন করুন এক মাসের মধ্যে কখনও হাস্যকরভাবে ভিতরে ভিতরে, কখনও না। আমি উপরে উল্লিখিত কনফিগার ফাইল ফাইলটি "কখনও কখনও না" উদাহরণ। আমার একটি নতুন টেম্পলেট ইঞ্জিনটি লিখতে, ডকুমেন্ট করতে এবং পরীক্ষা করতে কয়েক দিন সময় নিয়েছে। তারপরে এটি ব্যবহার করতে বিদ্যমান কনফিগারেশনটি পুনরায় লিখুন, এবং আরও খাটো হতে হবে তবে একই সঠিক ডেটা কাঠামো উত্পাদন করুন। (এটি ছিল প্রকল্পের সবচেয়ে শক্ত অংশ)) সুতরাং .. দিনগুলি নষ্ট হয়ে গেছে, একেবারেই কোনও দৃশ্যমান ফলাফল নেই। তবুও এই প্রচেষ্টাটি কেবল এক মাসের মধ্যেই পরিশোধ হয়ে যায়, তবে তখন থেকেই সুদ অর্জন করে চলেছে।
btilly

41

অনুমান করার জন্য এটি বেশ ফোটে । বেশিরভাগ নতুন প্রোগ্রামাররা এটি করে তবে আমি অভিজ্ঞরাও এটি করতে দেখেছি, কারণ তারা মনে করেন এটি গবেষণার সময় সাশ্রয় করে। কিছু করে যাতে আপনি আপনার যোগ কাজ না করে, +1অথবা একটি -1, একটি পরিবর্তন trueকরার জন্য একটি false, বা তদ্বিপরীত কিছু বিবৃতি পুনর্বিন্যাস যোগ বা পরিবর্তন বিলম্ব, পরিবর্তন থ্রেড অগ্রাধিকার, এবং অন্যান্য ছোট রূপান্তরের, মূলত র্যান্ডম একাধিক বিন্যাসন পরীক্ষা পর্যন্ত এটি কাজ করে।

এটি বেশিরভাগ বিদ্যমান কোড পরিবর্তন করার ক্ষেত্রে প্রযোজ্য, তবে একেবারে নতুন কোডের একটি কারণ, কারণ সত্যই কেউ স্ক্র্যাচ থেকে শুরু করে না। আপনি সর্বদা স্ট্যান্ডার্ড লাইব্রেরি, অপারেটিং সিস্টেম বা কমপক্ষে প্রসেসরের আর্কিটেকচারের শীর্ষে তৈরি করছেন

অন্য কথায়, আপনার ফিক্স কেন কাজ করে না জানা অবধি আপনার কাজ শেষ হয় নি । সেখানে যাওয়ার জন্য আপনি যে পথটি নিয়েছেন তাতে তেমন কিছু আসে যায় না। এমনকি এলোমেলো ক্রমবর্ধনগুলি মাঝে মাঝে নিজের বাগটি নির্ধারণের জন্য যে বাগটি সংকীর্ণ করা যায় তাকে সংকীর্ণ করতে সহায়ক হতে পারে, যতক্ষণ না আপনি নিজেকে সময় জিজ্ঞাসা করার জন্য সময় নেন, "ঠিক আছে, এটি মিথ্যা স্থির করে সত্য স্থির করে তবে কেন?"


1
দুর্দান্ত পয়েন্ট +1। কোড সংশোধন করার চেয়ে কোথাও এটি প্রয়োগ হয় না ...
রবি ডি

দুর্ভাগ্যক্রমে আমার পক্ষেও সত্য। সত্য কথা বলতে গেলে কখনও কখনও ডকুমেন্টেশনের অভাবের মতো উদ্দেশ্যমূলক অসুবিধা হয়। আজ, আমি আমার কোডটি কিছুটা ঠিক করছিলাম, এবং আমি এসে পৌঁছেছি যে প্যারামিটারটি কী দরকারী তা আমি জানতাম না, কারণ এখানে ডকুমেন্টের অভাব ছিল। আমরা কেবল জানি এটি একটি সংখ্যা।
py_script

আমি ভর্তি হলাম. ঝুঁকিপূর্ণ টুথপিক সিন্ড্রোমের মুখোমুখি হয়ে যখন আপনি যে কতগুলি স্তর নিয়ে
পাল্টাচ্ছেন

16

একটি প্রোগ্রামে আমি সবচেয়ে ভয়ঙ্কর মন্তব্যটি ছিলাম

এটি স্পর্শ করবেন না। এটা কাজ করে। আমরা জানি না কীভাবে বা কেন, তবে এটি কার্যকর হয়। 1

এবং এটি ভীতিকর কারণ এটি স্বীকার করে যে কোডের টুকরোটি কাকতালীয়ভাবে প্রোগ্রামিংয়ের ফলাফল ছিল ।

কাকতালীয়ভাবে প্রোগ্রামিং এড়ানোর জন্য , কোডটি ঠিক কী করে এবং কেন এটি কাজ করে তা আপনাকে (সহকর্মী, নিজের বা একটি রাবার হাঁসের কাছে ) ব্যাখ্যা করতে সক্ষম হওয়া উচিত । ইচ্ছাকৃতভাবে প্রোগ্রামিংয়ের বুলেটগুলি কোডটি ব্যাখ্যা করতে সক্ষম হবার লক্ষ্যে এগিয়ে যাওয়ার ক্ষেত্রে বেশিরভাগ সহায়তা।


1 প্রসঙ্গে, এই মন্তব্যটি কোডটিতে উপস্থিত হয়েছিল যে কোনও প্রারম্ভিক ওএসে প্রসঙ্গের স্যুইচগুলি পরিচালনা করে। কোডটি ইতিমধ্যে বেশ কয়েক বছর ধরে উত্পাদিত হয়েছিল যখন আমি এটির মুখোমুখি হয়েছিলাম।


2
এটিকে ভুডো
বিয়োগ

1
কোডার যদি এটি সত্য বলে বিশ্বাস করে তবে এই ধরণের মন্তব্যটি ব্যাপকভাবে অসহনীয়। কোডটি বেশ জটিল হতে পারে তবে আপনি যদি অন্যথায় কোডটি পড়েন তবে আপনি ভাবতে পারেন যে এটি সরাসরি-এগিয়ে ছিল। সব কমেন্টে প্যানোইয়া বাড়ে!
রবি ডি

3
পুরানো কোডবেস বজায় রাখার সময় এটিও ঘটতে পারে, একটি ভাষায় বর্তমান বিকাশের বেশিরভাগ দল খুব স্বাচ্ছন্দ্য বোধ করে না।
pcurry

সুতরাং রাবার হাঁস কেবল ডিবাগিংয়ের জন্য নয়। ভাল ... আমি মনে করি আমরা একই সংস্থায় কাজ করছি, আমাদের কাছে এরকম অনেক মন্তব্য রয়েছে: P
py_script

এমন পরিস্থিতিতে রয়েছে যখন কোনও এপিআই-তে কোনও সমস্যা থাকার কারণে কোনও ঠিক করা কাজ করে এবং এর চেয়ে ভাল এবং লজিকাল কোনও সমাধান নেই। কিছু সংকলিত তৃতীয় পক্ষের lib ডিবাগ কর্নেল ডিবাগিংয়ের মতো গভীর যেতে পারে। এমনকি যদি আপনি সমস্যাটি খুঁজে পান তবে কয়েক ঘন্টা ডিবাগ করার পরেও আপনি কিছু করতে পারেন। সুতরাং আপনি সমস্যার ভিন্নভাবে যোগাযোগ করুন। আপনি "ব্ল্যাক বক্স" মডেল অবলম্বন করেন যা আপনাকে কাকতালীয়ভাবে প্রোগ্রামে সক্ষম করে। আপনি ব্ল্যাক বক্সের অদ্ভুত আচরণের সাথে ঘুরেফিরে খেলেন এবং আপনি যদি এটি নিজের পছন্দ মতো কাজ করতে পরিচালিত করেন তবে গ্রেট, "ম্যাজিক টাচ করবেন না" দিয়ে একটি মন্তব্য যুক্ত করুন এবং এগিয়ে যান।
রাদু সিমিনেস্কু

7

নতুন প্রোগ্রামারদের জন্য, এটিকে কাটিয়ে ওঠার সবচেয়ে গুরুত্বপূর্ণ অংশটি হ'ল তারা কী করছে তা বোঝা।

অনেক ক্ষেত্রে, আপনি কীভাবে কীভাবে করতে হয় তা জানেন না, আপনি কেবল পরীক্ষা এবং ত্রুটির মাধ্যমে চলে যান। কিছু একটা করো; যদি এটি কাজ করে, দুর্দান্ত, যদি না হয় তবে অন্য কিছু চেষ্টা করুন।

প্রোগ্রামিংয়ে, বিশেষত এমন ভাষা ব্যবহার করার সময় যা অপরিজ্ঞাত আচরণের ধারণা (সি বা সি ++ এর মত) ধারণ করে, এই পদ্ধতিটি কেবল কার্যকর হয় না, কারণ সাফল্য আর কোনও বুলিয়ান সিদ্ধান্ত নয়। আপনার কাছে এমন কিছু জিনিস থাকতে পারে যা "ধরণের" কাজ করে, যা কখনও কখনও কাজ করে, যা কিছু ইনপুটগুলির জন্য কাজ করে তবে অন্যদের নয়।

আমি মাঝে মাঝে নতুন প্রোগ্রামারদের টিউটর করে রেখেছি এবং এলোমেলো স্টাফগুলি কাজ করে কিনা তা দেখার জন্য টাইপ করার চেষ্টা করার প্রবণতা রয়েছে। তারা একটি লাইন টাইপ করবে, এবং তারপরে আমার দিকে ফিরে জিজ্ঞাসা করবে, "এটি কি এইভাবে কাজ করবে?" যদিও এটি স্পষ্ট ছিল যে তাদের পক্ষে একেবারেই কোনও ধারণা নেই যে এটি হতে পারে।

গ্রহণটি হ'ল নতুন প্রোগ্রামার হিসাবে আপনাকে সত্যই আপনার কোড কী করে তা ব্যাখ্যা করতে সক্ষম হতে হবে। আপনাকে কোডটি পড়তে শিখতে হবে, কেবল এটি লিখতে হবে না।

(অবশ্যই এটি পাকা প্রোগ্রামারগুলিতেও প্রযোজ্য, তবে আমার অভিজ্ঞতা এখানে বেশিরভাগ নতুন সম্পূর্ণ নতুনদের সাথেই হয়েছে))


<< আপনাকে কোড পড়তে শিখতে হবে, কেবল এটি লিখবেন না >> >> সুতরাং, আমার প্রাথমিক প্রশ্ন সম্পর্কে, আপনি কি মনে করেন এটি আমাকে ওপেন সোর্স প্রকল্পগুলিতে বৈশিষ্ট্যগুলি যুক্ত করতে সহায়তা করবে?
পাই_স্ক্রিপ্ট

2

"রেসিং লাইনে" কোড করা, পরীক্ষা করা এবং এটি ঠিক করা খুব সহজ। আপনার কিছু কার্যকারিতা রয়েছে যা এক্স ও ওয়াই দিয়েছে, জেড উত্পাদন করে But তবে যদি এক্স দুর্নীতিগ্রস্থ হয় এবং ওয়াই অনুপলব্ধ থাকে তবে কী হবে? আপনি যদি জেড আউটপুট দিতে অক্ষম হন? কী ভুল হতে পারে তা ক্রমাগত মনে রাখুন এবং পরীক্ষা চক্রের জন্য এটি একটি নোট তৈরি করুন।

আপনার রুটিনগুলি সংক্ষিপ্ত এবং বর্ণনামূলক রাখুন - সেরা কোডটির জন্য কয়েকটি (যদি থাকে) মন্তব্য প্রয়োজন।

অর্থবোধক পদ্ধতি, শ্রেণি এবং পরিবর্তনশীল নামগুলি পাঠযোগ্যতার সহায়তা করতে দীর্ঘপথে চলে।

আপনি যদি কোনও কোডের গন্ধ দেখতে পান তবে থামুন। এই গন্ধটি দূরে যাওয়ার সম্ভাবনা নেই এবং এখন একটু চেষ্টা করলে আপনাকে পরে বিপুল পরিমাণে শোক বাঁচাতে পারে।

আপনার উন্নয়ন প্রক্রিয়া মধ্যে পরীক্ষা অন্তর্ভুক্ত। আমি টিডিডি-র পরিবর্তে বিডিডি ব্যবহারের পক্ষে ছিলাম কারণ এটি আপনাকে পরীক্ষার একটি ভেলাতে অন্ধভাবে নির্ভর করার পরিবর্তে আপনি কী অর্জন করতে চাইছেন তা বর্ণনা করতে বাধ্য করে যা আপনাকে সুরক্ষার মিথ্যা ধারণা দিতে পারে।

অতিরিক্ত শীতল বৈশিষ্ট্যগুলি যুক্ত করার তাগিদ প্রতিরোধ করুন (যদি না এটি আপনার নিজের পোষা প্রকল্প হয়)) যে কোনও অতিরিক্ত কোড ডিজাইন, লিখিত, পরীক্ষিত এবং রক্ষণাবেক্ষণ করা দরকার। যদি এটি ক্লায়েন্ট / ব্যবসায়ের দ্বারা প্রয়োজনীয় না হয় - আপনি এটি আপনার সংস্থানগুলিতে একটি বিশাল ড্রেন হয়ে যাওয়ার ঝুঁকিপূর্ণ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.