প্রোগ্রামিং সম্পর্কে প্রতিটি প্রোগ্রামারকে কী জেনে রাখা উচিত?


52

দয়া করে, প্রযুক্তিগত ইস্যুতে থাকুন , আচরণ, সাংস্কৃতিক, কেরিয়ার বা রাজনৈতিক সমস্যাগুলি এড়ান।


7
এই আরও দেখুন stackoverflow.com/questions/132798/...
pramodc84

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

উত্তর:


92
  1. বাগটি আপনার কোডে রয়েছে, সংকলক বা রানটাইম লাইব্রেরিগুলিতে নয়।

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

  3. একযোগে / বহু-থ্রেডযুক্ত প্রোগ্রামগুলি লেখা শক্ত এবং সঠিকভাবে পরীক্ষা করা আরও শক্ত। সম্মতিযুক্ত গ্রন্থাগার এবং ফ্রেমওয়ার্কগুলিতে যতটা সম্ভব ডেলিভারি দেওয়া ভাল to

  4. ডকুমেন্টেশন লেখা প্রোগ্রামার হিসাবে আপনার কাজের অংশ। "অন্য কারও" করার জন্য এটি ছেড়ে যাবেন না।

সম্পাদনা

হ্যাঁ, আমার পয়েন্ট # 1 অত্যুত্তেজিত। এমনকি সেরা ইঞ্জিনিয়ারড অ্যাপ্লিকেশন প্ল্যাটফর্মগুলিতেও বাগের ভাগ রয়েছে এবং কিছুটা কম ইঞ্জিনিয়ারড সেগুলি নিয়ে বিতর্ক রয়েছে। তবে তা সত্ত্বেও, আপনাকে সর্বদা আপনার কোডটিকে প্রথমে সন্দেহ করা উচিত এবং যখন আপনার কোডটি দোষে নেই তার স্পষ্ট প্রমাণ থাকলে কেবল কম্পাইলার / লাইব্রেরি বাগগুলি দোষ দেওয়া শুরু করবেন।

আমি যখন সি / সি ++ বিকাশ করেছি তখন আমি মনে করেছি যে অপেক্ষাগত অপ্টিমাইজার "বাগগুলি" আমার কারণে / অন্য কোনও প্রোগ্রামার এমন কিছু কাজ করেছে যা ভাষার অনুমান অনুসারে অপরিবর্তিত ফলাফল পেয়েছে remember এটি জাভা জাতীয় মত সুরক্ষিত ভাষার জন্য এমনকি প্রযোজ্য; উদাহরণস্বরূপ জাভা মেমরির মডেলটি (জেএলএস অধ্যায়ের 17) দীর্ঘক্ষণ দেখুন।


17
আমি "বাগটি সম্ভবত আপনার কোডের মধ্যে রয়েছে " বলতে পছন্দ করি , যেহেতু আমি কয়েকবার রানটাইম লাইব্রেরিতে বাগগুলি জুড়ে এসেছি। আমি এখনও একটি সংকলক বাগ মধ্যে চালানো আছে। যাইহোক +1।
চিন্ময় কাঞ্চি

29
আপনি যদি এই সংকলকটিতে কখনই কোনও উদ্দীপক ত্রুটি খুঁজে না পান, তবে আপনার কোডিংয়ের সাথে আপনি যথেষ্ট সাহসী নন। ;)
ম্যাসন হুইলার

8
@ চিন্ময়, @ স্পুড ,86, @ ম্যাসন - হ্যাঁ ... এবং আমি আমার ৩০++ বছরের প্রোগ্রামিংয়ে আমার সংকলক এবং লাইব্রেরি বাগের অংশটি পেয়েছি। তবে আমার অভিজ্ঞতায়, 99 +% বাগগুলি আমার কোডটির দোষ (অন্তত অংশে) থেকে বেরিয়ে আসে। আমার উত্তরটি ইচ্ছাকৃতভাবে এটিকে অগ্রাহ্য করার জন্য যে আপনি সর্বদা আপনার কোডটি প্রথমে সন্দেহ করা উচিত ।
স্টিফেন সি

5
বহু-থ্রেড প্রোগ্রামিং সহ লোকেরা যে অযৌক্তিক ভয় পেয়ে যায় তা আমি পাই না। আমি সন্দেহ করি এমন লোকেরা যারা এই দৃষ্টিভঙ্গি স্থির করে, বেশি মাল্টি-থ্রেড কোড প্রোগ্রাম করে না। এটা ঠিক যে হার্ড না। অন্য কিছুর জন্য যদিও +1।
স্টিভেন ইভার্স

4
আপনি যদি
সংকলকটিতে

84
  • অন্যান্য লোকের কোড কীভাবে পড়বেন।
  • সংস্করণ নিয়ন্ত্রণ সিস্টেমে এটি চেক না করা থাকলে কোডের অস্তিত্ব নেই।

8
আমি যদি সংস্করণ নিয়ন্ত্রণের মন্তব্যে করতে পারি তবে +10000। ইতিহাস এবং পরিবর্তন লগিং একেবারে অপরিহার্য এবং আপনার শুরু থেকে সমস্ত কিছু সংস্করণ নিয়ন্ত্রণে রাখার কারণ।
লেগুওলাস

2
... এবং সংগ্রহস্থলটি কমপক্ষে অন্য একটি জায়গায় সিঙ্ক্রোনাইজ করা হয়েছে। ডিভিসিএসের সাথে গুরুত্বপূর্ণ, তবে কেন্দ্রীয় ভিসিএসের সাথেও গুরুত্বপূর্ণ।

এই বিষয়ে, কোনও কার্য আইটেম উপস্থিত না থাকলে কোড উপস্থিত থাকে না যা বিকাশকারীকে এটি লেখার অনুমতি দেয়।
জেসি সি স্লিকার

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

অন্য লোকের কোড কীভাবে পড়তে হয় তা শেখার জন্য এক one
ab

76

ভাসমান পয়েন্ট গণনা সুনির্দিষ্ট হয় না



যদি আমি না জানি যে আমি কী সম্পর্কে কথা বলছি তবে @ অ্যাডামের লিঙ্কটি পড়ুন। এটি ভাসমান পয়েন্ট গণনার ক্ষতিগুলির একটি দুর্দান্ত সংক্ষিপ্তসার।
চিন্ময় কাঞ্চি

1
এবং যদি তারা না জানে যে তারা প্রতিদিন স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করে এমন লোকদের মধ্যে হতে পারে।
ব্রায়ান আর। বন্ডি

1
@ ব্রায়ান: তাই সত্য। আমি আশা করি ভাসমান পয়েন্ট গণিত দ্বারা ব্যাখ্যা করা প্রশ্নগুলি চিহ্নিত করার কোনও উপায় ছিল। আপনি একটি স্ট্যাক অ্যাপ তৈরি করতে পারেন যা প্রতিদিন একটি ভিন্ন ভাসমান পয়েন্ট প্রশ্ন প্রদর্শন করে!
অ্যাডাম পেইন্টার

63

পড়াশোনা বন্ধ করবেন না।


1
সম্পর্কিত: বিশ্বাস করা বন্ধ করবেন না।
ফিশটোস্টার

3
সম্পর্কিত: আগামীকাল সম্পর্কে চিন্তাভাবনা বন্ধ করবেন না।
অ্যাকোডো

7
সম্পর্কিত: সঙ্গীত বন্ধ করবেন না।
Adamk

1
সম্পর্কিত: মুভিন বন্ধ করবেন না '! এটি আপনার জীবন, চালচলন চালিয়ে যান ', এটি ঠিক করুন, আপনি এটি সঠিকভাবে পেতে হবে!
19কোডো

44

আপনার কোডটির গুণমান এবং রক্ষণাবেক্ষণ বাড়ানোর জন্য আপনি যে # 1 জিনিসটি করতে পারেন তা হ'ল রেডুউস ডুপ্লিকেশন।


4
ড্রি, হ্যাঁ! আমি কীভাবে ভুলব? ;-)
ম্যানেরো

এটি এত গুরুত্বপূর্ণ যে আমি এটি দিয়ে আবার উত্তর দিয়েছি ।

আমি বরং বলব: শর্ত সাপেক্ষে ED প্রতিটি সময় / যদি / এর জন্য একটি সম্ভাব্য বাগ।
zvrba

1
আপনি জানেন, ডিআরওয়াই সম্পর্কে মজার বিষয়টি এটি সর্বত্র পুনরাবৃত্তি হয়। :) +1
বিলি ওলিলে

39

সমস্যা সমাধান ও দক্ষতা ডিবাগিং দক্ষতা

আমি যে প্রোগ্রামিং কোর্সে নিয়েছিলাম সেগুলিতে তারা খুব কমই এই বিষয়টিতে খুব বেশি সময় ব্যয় করেছে এবং আমার অভিজ্ঞতায় এটি প্রোগ্রামার কতটা উত্পাদনশীল তার বৃহত্তম নির্ধারক। এটি পছন্দ করুন বা না করুন, আপনি আপনার অ্যাপ্লিকেশনটির রক্ষণাবেক্ষণের পর্যায়ে নতুন বিকাশের পর্যায়ে অনেক বেশি সময় ব্যয় করেন।

আমি soooooo অনেক প্রোগ্রামারদের সাথে কাজ করেছি যারা সমস্যা সমাধানের কোন কৌশল ছাড়াই এলোমেলোভাবে জিনিস পরিবর্তন করে ডিবাগ করে। আমি কয়েকবার এই কথোপকথন করেছি।

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


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

+1 আমি জাভাস্ক্রিপ্ট / পিএইচপি থেকে সি # এ গিয়ে কোডের সাথে পদক্ষেপের প্রেমে পড়েছি। আমি চাই যে গতিশীলভাবে টাইপ করা ভাষাগুলি এগুলির আরও ভাল কাজ করতে পারে।
ইভান প্লেস

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

2
আমি মনে করি আপনার প্রোগ্রামটি জুড়ে আপনার অনুমানগুলি বৈধ করার জন্য ডিবাগিংয়ের মূল বিষয়। কখনও কখনও, আপনি কিছু সংকেতের জন্য মাছ ধরতে যেতে হবে। এটি পদ্ধতিগতভাবে করতে হবে। এটা তোলে পুরোপুরি এমন কিছু বিষয় যা চেষ্টা বৈধ এটা পারে আপনি নতুন কিছু বলুন। আমি প্রায়শই এটি করি।
গাভি

37
  1. চালাক হবেন না; পরিষ্কার করো.
  2. পুনঃব্যবহারের আগে ব্যবহার করুন।
  3. নাম বিষয়।
  4. একটি ফাংশন 1 জিনিস করে এবং এটি ভাল করে।
  5. ছোট বড় চেয়ে ভাল।

2
আপনি "পুনঃব্যবহারের আগে ব্যবহার করুন" পরিষ্কার করতে পারেন। আমি এর আগে শুনিনি।
Tjart

34

অধিকার. বর্তমানে প্রোগ্রামাররা ধারণাগুলি নয় প্রযুক্তিগুলি শিখেন। এটা ভুল.


হ্যা এবং না. আপনি বিশ্ববিদ্যালয়ে আমার যতটা প্রোফাইর ছিল তার মতোই আপনি শোনেন ... যাদের প্রত্যেকেই তাদের পুরো জীবনে সফটওয়্যার ব্যবহার করেনি। জ্ঞান, দক্ষতা ছাড়াই আমাদের পেশায় অকেজো।
স্টিভেন ইভার্স

4
+1, তাই সত্য। হ্যাঁ, এটি আইভরি টাওয়ারের মতো কিছু বলতে পছন্দ করে তবে এটি আমাদের বাকী অংশগুলির জন্য খুব কম সত্য করে তোলে না।
মাক

2
বানান মত মৌলিক? উদাহরণস্বরূপ Its wrongহওয়া উচিত it's wrong
কেনারাক

2
না, বেসিকগুলি পছন্দ করে টাইপোর বিষয়ে চিন্তা করে না তবে প্রোগ্রামিং সম্পর্কিত বিষয়গুলির বিষয়ে যত্নশীল।
clrod

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

27

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

এবং তার জানা উচিত যে এই অনুমানগুলি যখন ভেঙে যায় তখন তার জন্য প্রস্তুত থাকা উচিত।


6
বিশেষত যাদের সাথে assert()- সর্বত্র তা উল্লেখ করুন। assert()আপনার অনুমানগুলি নথিভুক্ত করতে এবং আপনি ভুল হলে আপনাকে বাঁচাতে সহায়তা করবে।
ডাস্টিন

@ ডাস্টিন +1 আপনার সমস্ত অনুমানগুলি কেবল স্মরণ করতে পারে এমন কোনও উপায় নেই - সেগুলি প্রোগ্রামিকভাবে ডকুমেন্ট করুন এবং যখন তারা ভুল অনুমান হিসাবে পরিণত হয় ঠিক তখনই আপনাকে জানানো হবে।
স্কিলড্রিক

1
... যদি না এনডিইবিউজি দিয়ে সংকলিত হয়।


17

ধারণা শিখুন । আপনি সিনট্যাক্স গুগল করতে পারেন।


তাত্ত্বিকভাবে ভাল, গুগল ব্যতীত নির্দিষ্ট সিনট্যাক্স সন্ধানের জন্য ভয়ঙ্কর : "অবজেক্ট রেফারেন্স" বা "এটি" যেমন গাজিলিয়ান ফলাফল দেওয়া এবং "$?" এর মতো প্রতিচ্ছবি অনুসন্ধানের মতো পদগুলির সন্ধান করা? কোন ফল দেয় না।
l0b0


14

অংশ পরিক্ষাকরণ. কোডটি কীভাবে ব্যবহার করা হবে সে সম্পর্কে আপনার অনুমানগুলি কোড করার জন্য এটি একটি দুর্দান্ত উপায়।



13

এটি আপনার ভাবার চেয়ে কঠিন।

সাধারণভাবে ব্যবহৃত হলে কাজ করে এমন একসাথে রাখা সহজ (ইশ) করা হলেও ভুল ইনপুট, সমস্ত প্রান্ত এবং কোণার কেস, সম্ভাব্য ব্যর্থতা মোড ইত্যাদির সাহায্যে সময় সাপেক্ষ এবং এটি সম্ভবত কাজের কঠিনতম অংশ হয়ে উঠবে।

তারপরে আপনি অ্যাপ্লিকেশনটিও খুব ভাল দেখায়।


3
আমি মনে করি এটি পুরাতন উক্তিটির উত্স '90% সময় লাগে 90% সময় নেয়। শেষ 10% সময় অন্যান্য 90% সময় নেয় '
GSto

আমি মনে করি প্রচুর লোকেরা ধারাবাহিকভাবে জটিলতার নীচে-অনুমানের প্রবণতা পোষণ করেন। "এক্স কত কঠিন হতে পারে?" - বিখ্যাত সর্বশেষ শব্দ: /
রোমান স্টারকভ

@ জিএসতো আমি 180% সময় কাজ করতে চাই না, আমার দ্বারা 100% ঠিক আছে!
Adamk

13

ডোমেইন সংক্রান্ত জ্ঞান. অনুমানটি কখনই 100% হয় না; আপনি যে প্রকৃত ডোমেনটির জন্য বিকাশ করছেন তা জানার ফলে পণ্যটির গুণমানটি সবসময় বাড়বে।


13

বড় ও স্বরলিপি এবং এর প্রভাব।


কিছু দরকারী রেফারেন্স


আমি দেখতে পেয়েছি যে বিগ হে নোটেশন অন্যতম প্রধান জিনিস যা কম্পিউটার বিজ্ঞানীরা সমস্যাযুক্ত (আমার অন্তর্ভুক্ত)
রিচার্ড

11

পয়েন্টার, স্পষ্টতই। :)


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

14
@ চিনে কাঞ্চি নং পয়েন্টারগুলি সবাই বুঝতে হবে।
বিকল্প

5
যে সত্যিই আপনি পয়েন্টার দ্বারা কি বোঝাতে চেয়েছেন উপর নির্ভর করে। যদি আপনি সি-স্টাইলের পয়েন্টার বলতে বোঝায় যে আপনি হেরফের করতে পারেন (যা আমি ধরে নিয়েছিলাম) তবে আমি যুক্তি দেব যে জাভা / সি # / পাইথন প্রোগ্রামার তাদের সম্পর্কে কিছু জানার দরকার নেই। যদি আপনি জাভাটির "রেফারেন্স" হিসাবে পয়েন্টার বলতে বোঝায়, অর্থাত্ একটি পয়েন্টার যার সাথে ফিড করা যায় না, তবে হ্যাঁ, তাদের সম্পর্কে কিছু জ্ঞান প্রয়োজনীয়, যদি কেবল আপনাকে পিছলে যাওয়া থেকে রোধ করা যায়।
চিন্ময় কাঞ্চি

@ ম্যাথেপিক আপনি যদি প্রতি বছর কতজন সিএস শিক্ষার্থী স্নাতক হন যা পয়েন্টার সম্পর্কে প্রথম জিনিসটি বুঝতে পারে না তা শিখতে পারলে আপনি আপনার মূল বিষয়টিতে কাঁপবেন। আমি যদি প্রতি গ্রীষ্মে প্লেসমেন্টগুলি নেওয়ার পথ থেকে না বেরিয়ে থাকি তবে সি বা পয়েন্টার সম্পর্কে বা জাভাতে রেফারেন্স সম্পর্কে শেখানো হত না ...
মাইক বি

5
@ চিন্ময়: একটি পাইথন / জাভা / সি # প্রোগ্রামার যা পয়েন্টারগুলির ধারণাটি বোঝে না তা হারিয়ে গেছে। L = [[]] * 2; L[0].append(42) বিভিন্ন ভাষায় বিভিন্ন নাম ব্যবহার করেন, কিন্তু পরোক্ষ সর্বত্র অপরিহার্য।

11

কোড সম্পূর্ণ 2 - কভার কভার


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

11

কোডের চেয়ে ডেটা বেশি গুরুত্বপূর্ণ।

যদি আপনার ডেটা স্মার্ট হয় তবে কোডটি বোবা হতে পারে।

বোবা কোড বোঝা সহজ। স্মার্ট ডেটাও তাই।

প্রায় প্রতিটি অ্যালগরিদমিক দুঃখটি ডেটা ভুল জায়গায় থাকার কারণে বা এর আসল অর্থের অপব্যবহারের কারণে হয়েছিল। যদি আপনার ডেটাটির অর্থ থাকে তবে টাইপ সিস্টেমে সেই অর্থটি রেখে দেওয়া


2
আপনি "টাইপ সিস্টেম" না বলে আপনারা আমাকে সর্বত্রই রেখেছিলেন।

10

কোন ভাষা এবং পরিবেশ কাজের জন্য সবচেয়ে উপযুক্ত। এবং এটি সর্বদা আপনার প্রিয় নয়।


10

ভাগ এবং বিজয়। সময়সূচী থেকে ডিবাগিং পর্যন্ত কোনও ধরণের ব্যবহারিক সমস্যা সমাধানের এটি সর্বোত্তম উপায়।


8

সত্যিকারের দক্ষতা কোনও জটিল ডিজাইনের কাজ মোটেও করার মতো দক্ষতায় নয়, একটি সাধারণ নকশাটি ভালভাবে চালানোর দক্ষতায় প্রতিফলিত হয়।

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

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

এক কথায়: কমনীয়তা। প্রতিটি শ্রেণি, প্রতিটি পদ্ধতি, প্রতিটি শর্ত, প্রতিটি ব্লক, প্রতিটি পরিবর্তনশীল নাম: কমনীয়তার জন্য চেষ্টা করুন।


8

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


6

প্রতিটি প্রোগ্রামারকে ডিবাগারটি কীভাবে ব্যবহার করতে হয় তা জানতে হবে এবং এটি কীভাবে ভালভাবে ব্যবহার করতে হবে তাও জেনে রাখা উচিত





4

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


2
বা কীভাবে ভাল অনুমান করা যায় এবং কীভাবে আপনি অনুমান করছেন না তা জানুন ...;)
বিলি কুভার

4

কোডিং শৈলীর বিষয়গুলি:

  • ধারাবাহিক ইন্ডেন্টেশন সম্পর্কিত বিষয়,
  • সাদা স্থানের অবিচ্ছিন্ন ব্যবহার (যেমন অপারেটরগুলির আশেপাশে) বিষয়গুলি,
  • matters matters matters এর বিষয়গুলির সামঞ্জস্যপূর্ণ স্থান
  • ভাল নির্বাচিত শনাক্তকারীদের বিষয়টি,
  • প্রভৃতি

... এবং ভাল নকশা বিষয়।

আদর্শভাবে, প্রোগ্রামার তার / তার প্রথম কোড পর্যালোচনার আগে (বা চলাকালীন) এই জিনিসগুলি শিখেন। সবচেয়ে খারাপ ক্ষেত্রে, প্রোগ্রামার সেগুলি শিখতে থাকে যখন বস তাকে তাড়াহুড়ো করে কিছু ভয়াবহ কোডে অ-তুচ্ছ কিছু পরিবর্তন করতে বলেন।

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