কোনও ডকুমেন্টেশন ছাড়াই কীভাবে কয়েক হাজার লাইনের কোড পড়বেন? [বন্ধ]


12

পূর্বে আমি ডাব্লুপিএফ প্রকল্পের জন্য একটি ভাল টাইমলাইন নিয়ন্ত্রণ অনুসন্ধান করছিলাম। আমি কোন উত্তর পাওয়া এখানে যা আমাকে সরাসরি এই CodePlex প্রকল্পের

এখন আমি আমার সংস্কৃতির চাহিদা পূরণের জন্য কোড পরিবর্তন করতে চাই। তবে কিছু মিল নেই!

আমার প্রশ্নটি হ'ল:

আপনি কীভাবে এই জাতীয় কয়েক হাজার লাইনের কোডের সাথে ইন্ট্যারাক্ট করবেন?

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

যে কোনও শর্টকাট দুর্দান্ত হবে!


3
বাড়াতে বলুন এটি সর্বদা সহায়তা করে। (তারা এ থেকে কোনও প্রেরণাদায়ক তৈরি করতে পারে)
নাম

2
আপনার ডেস্কের বিরুদ্ধে মাথা ঝুঁকুন যতক্ষণ না এটি সমস্ত স্পষ্ট হয়ে যায়।
জেলিফিশ্ট্রি

19
কিভাবে আপনি একটি হাতি খাবেন? ... এক সময় একটি কামড়
বিল

1
@ জালাল এটাই তারা আপনাকে ভাবতে চায়।
মতিন উলহাক

2
@ ডিসপ্লেনাম, অনুপ্রেরণার জন্য গাজর এবং কাঠি পদ্ধতির জন্য এমন কোনও কাজের জন্য দুর্বল সমাধান হিসাবে দেখানো হয়েছে যার জন্য প্রাথমিক জ্ঞানীয় দক্ষতা প্রয়োজন requires প্রেরণার বিজ্ঞান পুরষ্কার পদ্ধতির চেয়ে জটিল। 'ড্রাইভ পরীক্ষা করে দেখুন: ড্যান পিংক দ্বারা আমাদের কী প্রেরণা দেয় তা সম্পর্কে আশ্চর্যজনক সত্য', এটি অবাক করে দেওয়া একটি পড়া। বা কনডেন্সড সংস্করণে এটি আপনি নল ভিডিওটি দেখুন। youtube.com/watch?v=u6XAPnuFjJc
রায়ান টেলর

উত্তর:


37

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


3
+1 এবং একটি ভাল উপায় হ'ল আপনি উত্স কোডটি ব্রাউজ করার সাথে সাথে ডকুমেন্টেশনটি আসলে লেখা। এবং কেন আপনার সহযোগিতাটি অপ-সমন্বয়কারীদের কাছে ফেরত পাঠাবেন?

1
+1 এছাড়াও, আপনি যদি কোডটি সংশোধন করেন তবে নিশ্চিত হয়ে নিন যে আপনিও নিজের মতামত পরিবর্তন করেছেন, যাতে ভবিষ্যতের উত্সগুলি আপনি যা করেছিলেন তা নিয়ে বিভ্রান্ত না হয়। সমস্ত দস্তাবেজ করা লজ্জাজনক হতে পারে এবং লোকেরা এটি ঘৃণা করে কারণ এটি ভুল!
মাইকেল কে

1
মূল প্রকল্পটি যদি কোনও বিতরণযোগ্য উত্স নিয়ন্ত্রণ সিস্টেমে থাকে (গিটের মতো) এটি কাঁটাচামচ করা, ক্রমবর্ধমান পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ এবং এটি এমনভাবে করা উপকারী হবে যাতে আপনি নিজের পরিবর্তনগুলি পরে

8
  1. কোড মাধ্যমে পদক্ষেপ
  2. প্রয়োজন অনুসারে নতুন নামকরণ করুন
  3. প্রয়োজন অনুসারে রিফ্যাক্টর
  4. আপনি সম্পূর্ণরূপে বুঝতে না হওয়া পর্যন্ত পুনরাবৃত্তি করুন

... এবং কোডটি এর জন্য আপনাকে ধন্যবাদ জানাবে। ;-)


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

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

+1 কোডার। এবং এই উত্তরটি বর্তমানে ইউনিট পরীক্ষাগুলিরও উল্লেখ করে না । ভয়ের।
মার্কজে

দুঃখিত, বড় রিফ্যাক্টরিং বলতে বোঝায় না। মাইনর রিফ্যাক্টরিং, ক্লিনআপ ধরণের স্টাফ সম্পর্কে আরও কথা বলছিল। সুতরাং অবশেষে, আপনি বিন্দুতে পৌঁছাতে পারেন যে কোডের উদ্দেশ্যটি সুস্পষ্ট।
জন ম্যাকআইন্টির

5

কীভাবে এই ক্রিয়াটি সম্পন্ন হয় তা সন্ধানের জন্য একক পদক্ষেপ নিন, কোডটি ডিবাগ করুন (বার বার)। আরও ভাল বোঝার জন্য সাধারণ ভাষায় একই লিখুন!


আমি সাধারণত এমনটি না করি যতক্ষণ না আমি এমন একটি প্রকল্পের মুখোমুখি না হওয়া যা ডিবাগ মোডে চালাতে সক্ষম হয় না! এটি সর্বদা শুরু করার সময় ক্রাশ হয়! :( তবে এটি রিলিজ মোডে দুর্দান্ত চলছে: এস
আফ্রিজা এন। সংক্ষিপ্ত

পছন্দ করুন এটি কিছু মারাত্মকভাবে খারাপ কোড, এটি আপনাকে কী ত্রুটি দেয় তা পরীক্ষা করে দেখুন।
ড্যানিয়েল এস

@ আফ্রিজা, ঠিক করার প্রথম জিনিস!

4

জোয়েল স্পলস্কি তার ব্লগে (এখন আর্টিকেলটি খুঁজে পাচ্ছেন না) সত্যিই এ সম্পর্কে আমার সাথে আটকে গিয়েছিল বলে কিছু লিখেছিল:

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

সুতরাং আমি মনে করি কীটি মূলত কেবল ধীর, পদ্ধতিগত এবং বৈজ্ঞানিক হওয়া উচিত। এবং অন্যরা যেমন বলেছে - আপনি যাবেন তেমন মন্তব্য করুন (এবং এমনকি রিফ্যাক্টর)। "আমার কেবল এটি দেখতে হবে এবং অবিলম্বে বুঝতে হবে" এর মানসিকতায় পড়বেন না।

ওহ, এবং হ্যাঁ, আমি এখনও কখনও কখনও নিজেকে এই ফাঁদে পড়ি। "আমি যা বলেছি তেমন করুন, আমি যেমন করি না", এবং এটিই। :)


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

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

4

এসই-রেডিও এই বিষয় সম্পর্কে ডেভ থমাসের সাক্ষাত্কার নিয়েছিল

এই পডকাস্ট পর্বে প্রকল্পের 'সংস্কৃতি'তে প্রবেশ করার এবং মূল বাসিন্দারা কীভাবে বাস করতেন তা বোঝার জন্য অনেক টিপস এবং কৌশল রয়েছে।


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

2

আমি সম্প্রতি এটি করতে হয়েছিল এক লক্ষেরও বেশি এলওসি-র একটি প্রকল্পের মাধ্যমে। আমার প্রথম ধারণাটি ছিল 10,000 টেক্সটের 10,000 লাইনের চেয়ে 100 বা এমনকি 1000 নোডের গ্রাফ থেকে নিদর্শনগুলি দেখতে আরও সহজ।

সুতরাং আমি 45 মিনিট ব্যয় করেছি এবং এটি থেকে আমার যা প্রয়োজন তা পার্স করার জন্য একটি সংক্ষিপ্ত (<100LOC) পাইথন প্রোগ্রাম লিখেছিলাম এবং বস্তুর সম্পর্কগুলি আঁকতে। আমি গ্রাফভিজ উত্স তৈরি করেছি , যা উত্পন্ন করার পক্ষে সত্যই সহজ একটি ভাষা। (পাইথন সম্পর্কে এখানে বিশেষ কিছু নেই: রুবি বা সি # বা কমন লিস্প বা যা কিছু কেবল এটি করতে পারে))

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

(এটি সম্ভবত কারণ আমি সংকলকগুলি নিয়েছিলাম , তবে আমি এটি অদ্ভুত দেখতে পাচ্ছি যে কোনও প্রোগ্রামার যখন কোনও সমস্যার মুখোমুখি হন, তখন কোনও প্রোগ্রামে উত্স কোডটি জড়িত না হয়ে উত্তরটি সর্বদা "প্রোগ্রাম লিখুন!" বলে মনে হয়। )


1

এটি চলতে চলতে ডিবাগারের মধ্যে দিয়ে যান, এটি একটি নতুন, বৃহত কোড বেস বোঝার প্রায় একমাত্র উপায়।


2
আপনার যদি হাজার হাজার কোডের লাইন থাকে (বিশেষত যখন আমরা দশ বা কেএলপি’র শতাধিকের কথা বলছি) এবং / অথবা সেই কোডটির কিছু অংশ টেম্পলেটগুলিতে থাকে তখন এটি ব্যবহারিক বিকল্প নয়। একটি নতুন (এবং খারাপভাবে নথিভুক্ত) কোড বেসে একটি গ্রিপ পেতে, আপনাকে অবশ্যই ব্যবসায়ের সাথে জড়িত থাকতে হবে এবং কোডটি যে প্রসঙ্গে চালাচ্ছে বলে বোঝাচ্ছে সেটিকে বোঝার চেষ্টা করতে হবে। আপনি যদি একটি ডিবাগার মাধ্যমে কোডের মধ্য দিয়ে যেতে পারেন, তাহলে তা একটি বোঝার পেতে, যে কোড বেস বড় দিয়ে শুরু করতে যে ছিল না (ক ডিবাগার বরং অধিকাংশ ক্ষেত্রে অপ্রয়োজনীয় ব্যবহার করে।)
luis.espinal

দুর্ভোগ ঘটা যদি কোড বেস খুব একটি ডিবাগার মধ্যে ডিবাগ করার বড়। কোডটি একটি পরিচিত ইনপুট এবং আউটপুটকে প্রতিক্রিয়া দেখানো "কী" থেকে "কীভাবে" এর জ্ঞানকে রূপান্তর করতে সহায়তা করে। "কেন" প্রশ্নটি কখনই এক হয় না যার উত্তর একাকী ডিবাগার দিয়ে দেওয়া যায় না, তবে ইনড্রোন সোর্স মন্তব্য থাকতে পারে যা আপনি ডিবাগ করার সময় আইডিইতে দেখতে পাবেন।
গ্রাসেল

@ গ্র্রুসেল আমাকে একমত হতে হবে কারণ এটি আমি যা করি তা না ... আমি প্রতিনিধি কিনা তা আমার ধারণা নেই! আমি দেখতে দেখতে বাছাই করে বিজোড় ব্রেকপয়েন্টটি ব্যবহার করতে পারি (তবে এখনও স্পষ্টভাবে পদক্ষেপ নিইনি) এবং আমি আইডিই বৈশিষ্ট্যগুলি ব্যবহার করে আমাকে এক টুকরো টুকরো টুকরোতে সম্পর্কযুক্ত করতে পারি।
মার্ফ

1

বুঝতে পারছেন যে পূর্ণতায় খাঁজ কাটাতে আসলেই কোনও শর্টকাট নেই। (এবং যদি আপনার এই বাক্যাংশটি নিয়ে সমস্যা হয় তবে আপনার পড়াশোনা খুব অবহেলিত হয়েছে It এটি রবার্ট এ হেইনলাইন র "স্ট্রেঞ্জার ইন এ স্ট্রেঞ্জ ল্যান্ড" থেকে))

এটি পড়ুন, একবারে একটি পৃষ্ঠা, একবারে একটি রুটিন। মন্তব্য যুক্ত করুন। প্রধান ডেটা স্ট্রাকচারের ছবি আঁকুন। অ্যালগরিদমগুলি সনাক্ত করুন। পূর্ববর্তী জ্ঞানের উপর আঁকুন।

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


ডিবাগার কিছু কনভেনশন ব্যাখ্যা করেন কি ভেরিয়েবল ভিতরে আশা করা যায় সম্পর্কে মূল কোড লেখকের নিয়মাবলী (যেমন তারা আশা পূর্ণ-পাথ অথবা ফাইলের নাম বা আপেক্ষিক পাথ করেন?) এবং অন্যান্য অনেক জিনিস তাই এটি এখনও আমার মতে গুরুত্বপূর্ণ
Afriza এন আরিফ

2
-১ এই ভেবে যে আপনি শীতল কারণ আপনি "
খাঁজ

1

আপনি যা যা করতে পারেন যতটা আপনি বরাবর যান তাই কেউ আপনার পোষ্টের মতো একই অবস্থানে শেষ করে না।


1

আপনার ক্লু ব্যবহার করা দরকার আপনাকে কী কী সন্ধান করতে হবে তার একটি ক্লু পান এবং আপনার পরিবেশ বা আইডিইয়ের অনুসন্ধান কার্যকারিতাটি ব্যাপকভাবে ব্যবহার করুন যা আপনাকে কোড পরিবর্তন করতে হবে এমন কোডের কাঙ্ক্ষিত অংশে নিয়ে আসতে পারে।

জাভা কোডের 14 হাজার লাইন পড়ার কোনও মানে হয় না। অনুসন্ধান কার্যকারিতা হ'ল আপনার জীবনরক্ষক


0

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


0

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

অবশ্যই, আপনি বিটগুলি বোঝার সাথে সাথে, সেই সময়ে আপনি যা জানেন তার জন্য তাদের মন্তব্য করুন, সম্ভবত আপনি বুঝতে পারেন না এমন কিছু সম্পর্কে নোট লিখুন।

আমি পুরো পিসটি শুরু থেকেই বোঝার চেষ্টা না করার পরামর্শ দেব। পরিবর্তে আপনার এখন অবধি যে টুকরোগুলি জানতে হবে তা বোঝার চেষ্টা করুন এবং বাকীগুলিতে পরে কাজ করুন।


0

আমি ব্যবহার করে শুরু হবে লিও সম্পাদক মধ্যে @shadow মোড সক্রিয় ব্যবহার সঙ্গে ক্লোন নোড । এটি কাউকে কোডটি পরিবর্তন না করে অধ্যয়নের অধীনে কোডের প্রতিটি বিভাগের জন্য নোট এবং মন্তব্য যুক্ত করার অনুমতি দেয় এবং টীকাগুলি সর্বদা প্রসঙ্গত, কোডটি যে কোডটির কথা বলছে তার পাশে থাকবে। এখানে দস্তাবেজের কার্যপ্রবাহের একটি উদাহরণ রয়েছে:

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

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


0

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


0

আপনি রিফ্যাক্টর আগে কিছু পরীক্ষা লিখুন। প্রচুর পরীক্ষা। কোডের ছোট ছোট ব্লকের খুব সুনির্দিষ্ট পরীক্ষা যা কমপক্ষে কলযোগ্য, কারণ এটি আপনার উত্তরাধিকার সূত্রে প্রাপ্ত জগাখিচুড়ি কীভাবে লিখিত হয় তার উপর নির্ভর করবে।

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

প্রথমে এটি পরীক্ষা করে আপনি কোডটিতে এমন কোনও কিছু পরিবর্তন করার ঝুঁকিটি চালাবেন না যার প্রভাবগুলি আপনি জানতে পারবেন না ock আপনি কোডটি রিফ্যাক্টারে এলে আপনার একটি সুরক্ষা জালও থাকবে।


0

আমি ক্লাসে প্রতিটি ক্লাস কী করে তা সম্পর্কে আমার বোঝার যোগ করার চেয়ে সামগ্রিক শ্রেণীর ডায়াগ্রাম তৈরি করার জন্য ডোজিনের মতো সরঞ্জামগুলি ব্যবহার করি।

তারপরে আমি বাগ সারি থেকে কিছু সহজ বাগ বাছাই করি (আমার ম্যানেজার আমাকে কোনও হার্ড অর্পণ করার আগে: পি), তারপরে সেই কার্যকারিতাটি ডিবাগারে চালিত করুন এবং কোনও মোটামুটি তথ্য প্রবাহ বা কোড ফ্লো মডেল উত্পন্ন করার চেষ্টা করব।

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


0

একটি তুচ্ছ ত্রুটি যেমন, একটি নালপয়েন্টার এক্সেকশন। প্রথমে সম্মতি সংক্রান্ত কিছু এড়িয়ে চলুন, যে কোনও কিছু তার স্বভাব অনুসারে একবারে প্রচুর কোড বোঝার সাথে জড়িত।

একবার আপনি কয়েকটি বাগ স্থির করে নিলে আপনার সম্ভবত একটি ভাল ধারণা পাবেন। আমার জন্য, যে কোনও হারে কাজ করে।


-2

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

কোডিংয়ের ক্ষেত্রে আমাদের নিশ্চিত করতে হবে যে নকশাটি কোডে রূপান্তরিত হচ্ছে অর্থাত্ কোনও শ্রেণি বা কাঠামোতে একটি সত্তা, ক্রিয়াকলাপে কোনও ক্রিয়াকলাপ ইত্যাদি

এবং আমি একটি সাদা কাগজ দিয়েছিলাম http://queue.acm.org/detail.cfm?id=2063168 যা কোডিং শৈলীর বিষয়ে আলোচনা করে বা আমরা কীভাবে স্পেস, ইনডেন্টেশন, ফন্টের বিভিন্নতা ব্যবহার করতে পারি সর্বাধিক আইডিই হিসাবে আমরা অনেকগুলি লেখার জন্য ব্যবহার করতে পারি ক্লিয়ারার কোড যেখানে আমরা মানুষেরা মেশিনগুলি যতটা বুঝতে পারে তা বুঝতে পারে। এটি মন্তব্য ফ্রি কোড লেখার উপর আরও বেশি জোর দেয় যাতে আমাদের কোডটি অনুচ্ছেদ হিসাবে উপস্থিত হবে।

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