দয়া করে, প্রযুক্তিগত ইস্যুতে থাকুন , আচরণ, সাংস্কৃতিক, কেরিয়ার বা রাজনৈতিক সমস্যাগুলি এড়ান।
দয়া করে, প্রযুক্তিগত ইস্যুতে থাকুন , আচরণ, সাংস্কৃতিক, কেরিয়ার বা রাজনৈতিক সমস্যাগুলি এড়ান।
উত্তর:
বাগটি আপনার কোডে রয়েছে, সংকলক বা রানটাইম লাইব্রেরিগুলিতে নয়।
আপনি যদি কোনও বাগ দেখতে পান যা সম্ভবত ঘটতে পারে না, আপনি সঠিকভাবে নিজের প্রোগ্রামটি তৈরি এবং স্থাপন করেছেন কিনা তা পরীক্ষা করে দেখুন। (বিশেষত যদি আপনি কোনও জটিল আইডিই ব্যবহার করছেন বা এমন কাঠামো তৈরি করছেন যা আপনার কাছ থেকে অগোছালো বিশদগুলি গোপন করার চেষ্টা করে ... বা যদি আপনার বিল্ডে প্রচুর ম্যানুয়াল পদক্ষেপ জড়িত থাকে))
একযোগে / বহু-থ্রেডযুক্ত প্রোগ্রামগুলি লেখা শক্ত এবং সঠিকভাবে পরীক্ষা করা আরও শক্ত। সম্মতিযুক্ত গ্রন্থাগার এবং ফ্রেমওয়ার্কগুলিতে যতটা সম্ভব ডেলিভারি দেওয়া ভাল to
ডকুমেন্টেশন লেখা প্রোগ্রামার হিসাবে আপনার কাজের অংশ। "অন্য কারও" করার জন্য এটি ছেড়ে যাবেন না।
সম্পাদনা
হ্যাঁ, আমার পয়েন্ট # 1 অত্যুত্তেজিত। এমনকি সেরা ইঞ্জিনিয়ারড অ্যাপ্লিকেশন প্ল্যাটফর্মগুলিতেও বাগের ভাগ রয়েছে এবং কিছুটা কম ইঞ্জিনিয়ারড সেগুলি নিয়ে বিতর্ক রয়েছে। তবে তা সত্ত্বেও, আপনাকে সর্বদা আপনার কোডটিকে প্রথমে সন্দেহ করা উচিত এবং যখন আপনার কোডটি দোষে নেই তার স্পষ্ট প্রমাণ থাকলে কেবল কম্পাইলার / লাইব্রেরি বাগগুলি দোষ দেওয়া শুরু করবেন।
আমি যখন সি / সি ++ বিকাশ করেছি তখন আমি মনে করেছি যে অপেক্ষাগত অপ্টিমাইজার "বাগগুলি" আমার কারণে / অন্য কোনও প্রোগ্রামার এমন কিছু কাজ করেছে যা ভাষার অনুমান অনুসারে অপরিবর্তিত ফলাফল পেয়েছে remember এটি জাভা জাতীয় মত সুরক্ষিত ভাষার জন্য এমনকি প্রযোজ্য; উদাহরণস্বরূপ জাভা মেমরির মডেলটি (জেএলএস অধ্যায়ের 17) দীর্ঘক্ষণ দেখুন।
ভাসমান পয়েন্ট গণনা সুনির্দিষ্ট হয় না ।
পড়াশোনা বন্ধ করবেন না।
আপনার কোডটির গুণমান এবং রক্ষণাবেক্ষণ বাড়ানোর জন্য আপনি যে # 1 জিনিসটি করতে পারেন তা হ'ল রেডুউস ডুপ্লিকেশন।
সমস্যা সমাধান ও দক্ষতা ডিবাগিং দক্ষতা
আমি যে প্রোগ্রামিং কোর্সে নিয়েছিলাম সেগুলিতে তারা খুব কমই এই বিষয়টিতে খুব বেশি সময় ব্যয় করেছে এবং আমার অভিজ্ঞতায় এটি প্রোগ্রামার কতটা উত্পাদনশীল তার বৃহত্তম নির্ধারক। এটি পছন্দ করুন বা না করুন, আপনি আপনার অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণের পর্যায়ে নতুন বিকাশের পর্যায়ে অনেক বেশি সময় ব্যয় করেন।
আমি soooooo অনেক প্রোগ্রামারদের সাথে কাজ করেছি যারা সমস্যা সমাধানের কোন কৌশল ছাড়াই এলোমেলোভাবে জিনিস পরিবর্তন করে ডিবাগ করে। আমি কয়েকবার এই কথোপকথন করেছি।
অন্যান্য প্রোগ্রামার: আমি মনে করি এটি ঠিক করে কিনা তা আমাদের দেখার চেষ্টা করা উচিত।
আমি: ঠিক আছে, ধরে নিচ্ছি যে এটি ঠিক করে দেয়। সমস্যাটির উত্স কোথায় তা আপনাকে কী বলে?
অন্যান্য প্রোগ্রামার: আমি জানি না, তবে আমাদের কিছু চেষ্টা করতে হবে ।
অধিকার. বর্তমানে প্রোগ্রামাররা ধারণাগুলি নয় প্রযুক্তিগুলি শিখেন। এটা ভুল.
Its wrong
হওয়া উচিত it's wrong
।
প্রতিটি প্রোগ্রামারকে জানা উচিত যে তিনি কোডটিতে সমস্ত সময় অনুমান রেখে চলেছেন, যেমন "এই সংখ্যাটি ইতিবাচক এবং সসীম হবে", "এই কোডটি চোখের পলকের মধ্যে সার্ভারের সাথে সারাক্ষণ সংযোগ রাখতে সক্ষম হবে"।
এবং তার জানা উচিত যে এই অনুমানগুলি যখন ভেঙে যায় তখন তার জন্য প্রস্তুত থাকা উচিত।
assert()
- সর্বত্র তা উল্লেখ করুন। assert()
আপনার অনুমানগুলি নথিভুক্ত করতে এবং আপনি ভুল হলে আপনাকে বাঁচাতে সহায়তা করবে।
প্রতিটি প্রোগ্রামার পরীক্ষার সম্পর্কে জানা উচিত।
সমালোচনা ও যৌক্তিক চিন্তাভাবনা। আপনি এটি ছাড়া ভাল কিছু করতে পারবেন না।
এটি আপনার ভাবার চেয়ে কঠিন।
সাধারণভাবে ব্যবহৃত হলে কাজ করে এমন একসাথে রাখা সহজ (ইশ) করা হলেও ভুল ইনপুট, সমস্ত প্রান্ত এবং কোণার কেস, সম্ভাব্য ব্যর্থতা মোড ইত্যাদির সাহায্যে সময় সাপেক্ষ এবং এটি সম্ভবত কাজের কঠিনতম অংশ হয়ে উঠবে।
তারপরে আপনি অ্যাপ্লিকেশনটিও খুব ভাল দেখায়।
ডোমেইন সংক্রান্ত জ্ঞান. অনুমানটি কখনই 100% হয় না; আপনি যে প্রকৃত ডোমেনটির জন্য বিকাশ করছেন তা জানার ফলে পণ্যটির গুণমানটি সবসময় বাড়বে।
বড় ও স্বরলিপি এবং এর প্রভাব।
কিছু দরকারী রেফারেন্স
পয়েন্টার, স্পষ্টতই। :)
কোড সম্পূর্ণ 2 - কভার কভার
কোডের চেয়ে ডেটা বেশি গুরুত্বপূর্ণ।
যদি আপনার ডেটা স্মার্ট হয় তবে কোডটি বোবা হতে পারে।
বোবা কোড বোঝা সহজ। স্মার্ট ডেটাও তাই।
প্রায় প্রতিটি অ্যালগরিদমিক দুঃখটি ডেটা ভুল জায়গায় থাকার কারণে বা এর আসল অর্থের অপব্যবহারের কারণে হয়েছিল। যদি আপনার ডেটাটির অর্থ থাকে তবে টাইপ সিস্টেমে সেই অর্থটি রেখে দেওয়া ।
কোন ভাষা এবং পরিবেশ কাজের জন্য সবচেয়ে উপযুক্ত। এবং এটি সর্বদা আপনার প্রিয় নয়।
ভাগ এবং বিজয়। সময়সূচী থেকে ডিবাগিং পর্যন্ত কোনও ধরণের ব্যবহারিক সমস্যা সমাধানের এটি সর্বোত্তম উপায়।
সত্যিকারের দক্ষতা কোনও জটিল ডিজাইনের কাজ মোটেও করার মতো দক্ষতায় নয়, একটি সাধারণ নকশাটি ভালভাবে চালানোর দক্ষতায় প্রতিফলিত হয়।
এই দক্ষতা তাত্ক্ষণিকের উপর দক্ষতার নয়, মৌলিক বিষয়গুলির বৃহত্তর নিপুণতা থেকে আসে। একটি উচ্চ-ক্যালিবার প্রোগ্রামার অন্যরা কী করতে পারে না তার কোড করার দক্ষতার দ্বারা সংজ্ঞায়িত হয় না (উচ্চ স্তরের ফাংশনগুলি, উন্নত ফাংশনাল প্রোগ্রামিং, কী-আপনি আছেন) ব্যবহার করে বরং পুরোপুরি জাগ্রত কোডিং পরিমার্জন করার দক্ষতার সাথে। ক্লাসগুলির মধ্যে কার্যকারিতার উপযুক্ত পচন পছন্দ করা; দৃ rob়তা মধ্যে বিল্ডিং; রক্ষণাত্মক প্রোগ্রামিং কৌশল ব্যবহার করে; এবং নিদর্শন এবং নামগুলি ব্যবহার করে যা আরও বেশি স্ব-ডকুমেন্টেশনের দিকে পরিচালিত করে, এগুলি হ'ল ক্যালিবার প্রোগ্রামিংয়ের রুটি এবং মাখন।
আপনি বা অন্য কেউ, এক সপ্তাহে একমাস বা এক বছরে ফিরে আসতে পারেন এবং সেই কোডটি কীভাবে ব্যবহার করতে পারেন, সংশোধন করতে পারেন, বর্ধিত করতে পারেন বা প্রসারিত করতে পারেন তা ভাল কোড লেখা এটি আপনার সময় এবং মানসিক প্রচেষ্টা সাশ্রয় করে। এটির আগে আপনি যে পথে আটকে পড়েছিলেন সেই রাস্তাঘাটগুলি মুছে ফেলার মাধ্যমে উত্পাদনশীলতার চাকাগুলি গ্রীস করে তোলে (সম্ভবত আপনার চিন্তার ট্রেনকে বাধাগ্রস্ত করতে পারে, অথবা সম্ভবত অন্যান্য কাজ থেকে কয়েক ঘন্টা বা প্রচেষ্টা নেওয়া ইত্যাদি ইত্যাদি) কঠিন সমস্যার দিকে মনোনিবেশ করা সহজ করে তোলে , এবং কখনও কখনও এটি কঠিন সমস্যাগুলি সরিয়ে দেয়।
এক কথায়: কমনীয়তা। প্রতিটি শ্রেণি, প্রতিটি পদ্ধতি, প্রতিটি শর্ত, প্রতিটি ব্লক, প্রতিটি পরিবর্তনশীল নাম: কমনীয়তার জন্য চেষ্টা করুন।
কোনও ক্লিনার ব্যবহারকারীর অভিজ্ঞতা বা আরও ভাল ডকুমেন্টেশনের মাধ্যমে যা স্থির করা যেতে পারে তা কখনও দোষারোপ করবেন না। প্রায়শই, প্রোগ্রামারগুলি স্বয়ংক্রিয়ভাবে ধরে নেয় যে ব্যবহারকারী একজন নির্বোধ যা সঠিক কিছু করতে পারে না, যখন সমস্যাটি সামগ্রিক অভিজ্ঞতা বা যোগাযোগের অভাব হয়। প্রোগ্রামগুলি ব্যবহার করার জন্য বোঝানো হয় এবং ব্যবহারকারীকে অবজ্ঞার সাথে আচরণ করা মানে প্রোগ্রামিংয়ের দিকটি প্রথমে বাদ দেওয়া miss
প্রতিটি প্রোগ্রামারকে ডিবাগারটি কীভাবে ব্যবহার করতে হয় তা জানতে হবে এবং এটি কীভাবে ভালভাবে ব্যবহার করতে হবে তাও জেনে রাখা উচিত ।
সংক্ষিপ্ত-সার্কিট মূল্যায়ন, তারা আপনাকে বুলিয়ান অপারেটরদের সম্পর্কে শেখানো প্রথম জিনিসগুলির মধ্যে এটি একটি th
কোনও বৈশিষ্ট্য বাস্তবায়নে কত সময় নিচ্ছে তা সঠিকভাবে কীভাবে অনুমান করা যায়। আরও গুরুত্বপূর্ণ বিষয়, আপনি যখন এই অনুমানটি জমা দেবেন তখন কীভাবে জানাতে পারবেন যে আপনি বুলশিটিং করছেন না।
কোডিং শৈলীর বিষয়গুলি:
... এবং ভাল নকশা বিষয়।
আদর্শভাবে, প্রোগ্রামার তার / তার প্রথম কোড পর্যালোচনার আগে (বা চলাকালীন) এই জিনিসগুলি শিখেন। সবচেয়ে খারাপ ক্ষেত্রে, প্রোগ্রামার সেগুলি শিখতে থাকে যখন বস তাকে তাড়াহুড়ো করে কিছু ভয়াবহ কোডে অ-তুচ্ছ কিছু পরিবর্তন করতে বলেন।