আমি কীভাবে বিশ্লেষণ পক্ষাঘাতের সাথে মোকাবিলা করব?


60

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

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

এই সমস্যাটি মোকাবেলায় আমার কী করা উচিত?



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

উত্তর:


34

দুটি সহজ নিয়ম:

  1. সবচেয়ে সহজ কাজটি করুন যা সম্ভবত কাজ করতে পারে।
  2. অবিচ্ছিন্ন।

আপনি এই প্রতিটি কাজ শুরু করার সাথে সাথে আপনি আত্মবিশ্বাস অর্জন করবেন যে পরে পরিবর্তনের প্রতিক্রিয়া জানাতে আপনার ক্ষমতাকে আপোস না করেই আপনি এখন সাধারণ সিদ্ধান্ত নিতে পারেন।

মনে রাখবেন যে ভবিষ্যতের প্রুফিংয়ের অর্থ কোডটি পরিবর্তন করা সহজ করা, আপনার কোডটি পরিবর্তনের প্রয়োজন হতে পারে এমন প্রতিটি সম্ভাবনা অনুমান করার চেষ্টা না করা।


4
অবিচ্ছিন্ন রিফ্যাক্টরিং কেবলমাত্র যদি আপনার ভাল পরীক্ষার কভারেজ থাকে তবে যুক্তিসঙ্গত। তাই আমি বলব "ইউনিট পরীক্ষা লিখুন। তারপরে টেস্টটি পাস করার জন্য সহজ কাজটি করুন। রিফ্যাক্টর। পুনরাবৃত্তি করুন।"
কেভিন

অবশ্যই রাজি। "লাল, সবুজ, রিফ্যাক্টর" যাওয়ার উপায়।
রেন হেনরিচস

5
এক্সপি হ্যান্ডবুক থেকে দুর্দান্ত ছোট্ট টিডবিট, তবে প্রসঙ্গের বাইরে নিয়ে গেলে সত্যিই দুর্দান্ত পরামর্শ নয়।
অ্যারোনআট

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

1
"সম্ভবত কার্যকরভাবে কাজ করতে পারে এমন সহজ কাজটি করুন" এর জন্য কোনও অতিরিক্ত প্রসঙ্গের প্রয়োজন হয় না। রিফ্যাক্টরিং করে, তবে যে প্রসঙ্গটি জানে না সে কীভাবে রিফ্যাক্টর করতে শিখবে তবে প্রসঙ্গটি শিখবে?
রেন হেনরিচস

9

সাধারণত যখন আমি এইরকম অনুভব করি তখন এর অর্থ আমার চেষ্টা করা দরকার:

  1. উঠে দাঁড়াও, ঘোরাঘুরি করুন এবং নিশ্চিত করুন যে সমস্ত জীববিজ্ঞান ঠিকঠাক কাজ করছে।
  2. হোয়াইটবোর্ডে যান এবং আমি আত্মবিশ্বাস অনুভব না করা পর্যন্ত আঁকুন।
  3. এমন একটি "ডিজাইন অভিযোগের বন্ধু" সন্ধান করুন যাকে দিয়ে আপনি সমস্যার সমাধান করতে পারেন।

যদি সমস্যাটিতে সিনট্যাক্স এবং ছোট ছোট টুকরা জড়িত থাকে তবে:

  1. নিজেকে সন্তুষ্ট করুন, এমনকি এটি কুৎসিত হলেও, এটি সুন্দরভাবে কোথাও encapsulated হয় এবং একটি খাঁটি স্থানীয় ধরণের ক্রাফ্টের প্রতিনিধিত্ব করে।
  2. টোডো মার্কার যুক্ত করুন বা কেবল মন্তব্যগুলি জুড়ে দিন যা কোড আপনাকে কেন বাগ দেয় explain
  3. পরবর্তী কাজ এগিয়ে যান।

প্রথম এবং দ্বিতীয় # 2 এস উভয়ের জন্য +1। বক্স আঁকা, লাইনগুলি এবং লেবেলিং করা এবং বড় ছবিগুলি পাওয়া সাধারণত আমাকে বিকল্পগুলির মধ্যে সিদ্ধান্ত নিতে সহায়তা করে। যদি আপনার কাছে একটি দুর্দান্ত কোড বিশ্লেষক থাকে যা কার্যগুলি ট্র্যাক করে (হাডসন TODO গুলি ট্র্যাক করতে পারে এবং সেগুলি আপনার বিল্ডগুলিতে সুন্দরভাবে প্রদর্শন করতে পারে), আপনি সহজে পছন্দ করেন না এমন জিনিসগুলি ট্র্যাক করতে পারেন।
র্যান্ডি

5

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

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


আমি এটি সম্পর্কে অবহিত, তবে এখনও কোনও একক পছন্দ বাছাই করতে আমার খুব কষ্ট হয়েছে।
আন নোনিমাস

@ অ্যান: সঠিক জিনিসটি খুব দেরিতে না করে অবিলম্বে গঠনমূলক কিছু করা ভাল। একমাত্র জিনিস যা নিশ্চিত হ'ল কিছু না করাই হ'ল।
স্যাটোনিকপপি

4

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


2

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

নিখুঁতভাবে বেছে না নেওয়ার সম্ভাবনা সম্পর্কে আপনি উদ্বেগের জেরে পড়ে থাকলে, এর সমাধানের জন্য এখানে কিছু চিন্তাভাবনা রয়েছে:

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

শুভকামনা! :)


2

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


1

সিদ্ধান্ত নিতে আপনার অনীহা কাটিয়ে উঠতে, টাইমবক্সিং প্রয়োগ করুন : কয়েক মিনিটের মধ্যে অ্যালার্ম ঘড়িটি সেট করুন; ততক্ষণ আপনার মনকে কষ্ট দিন, তবে যখন অ্যালার্মটি বন্ধ হয়ে যায়, তখন পর্যন্ত আপনি খুঁজে পাওয়া সেরা বিকল্পটি বেছে নিন choose


3
এবং তারপরে অ্যালার্ম ঘড়িটি ঠিক কতক্ষণের জন্য প্রস্তুত করা উচিত সে সম্পর্কে নিজেকে যন্ত্রণা দেওয়ার সময় তিনি কাটাতে পারেন! :)
জর্দান

1
জর্দান: সেই সমস্যারও বেশ কয়েকটি সম্ভাব্য সমাধান রয়েছে। দুর্ভাগ্যক্রমে, আমি কোনটি প্রস্তাব করব তা সিদ্ধান্ত নিতে পারছি না।
ব্যবহারকারী 281377

0

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

একবার আপনি এটি তৈরি হয়ে গেলে এবং তা ছুঁড়ে ফেলে দেওয়ার পরে, আমি এই সিদ্ধান্ত নিতে আপনার আরও সহজ সময় লাগবে বাজি রাখতে ইচ্ছুক।


আপনার কোনও প্রোটোটাইপ ফেলে দেওয়া উচিত নয় কারণ আপনি কোনও বৈশিষ্ট্য যুক্ত করার পরে এটি পরে প্রসারিত করতে পারেন। অথবা আপনার কোনও এসএসসিসিই দিয়ে একটি বাগ পরীক্ষা করতে হবে। আমি সর্বদা পৃথক স্থানে আমার সমস্ত প্রোটোটাইপগুলি নিয়ন্ত্রণ করি।
ম্যাপেল_শ্যাফ্ট

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

একটি শাখায় প্রোটোটাইপ করুন, প্রয়োজনীয় পরীক্ষা করুন এবং মূলত একটি পরিষ্কার সংস্করণ তৈরি করুন।
zzzzBov

0

আমিও এই সমস্যায় ভুগছি। আমি যা বলব তা হ'ল আপনার কাছে পর্যাপ্ত পরিমাণে প্রণোদনা নেই।

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

আপনাকে এটি উপাদানগুলিতে বিভক্ত করতে হবে এবং সেগুলি সমাপ্ত করার জন্য নিজেকে পুরস্কৃত করতে হবে, এমনকি যদি এটি কেবল কোনও কনসোল i / o দিয়ে থাকে যা দেখায় যে এটি কাজ করছে।


0

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

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

এখন আমার একই রকম সমস্যা আছে, তবে কোডের সাথে এতটা নয় .. সাধারণত রাতের খাবারের জন্য কী খাওয়াতে হবে ... পিজ্জা বা তরকারী .. হুম ... পিজ্জা তবে তরকারিটি খুব সুন্দর তবে আমি কি তরকারি জাতীয় মনে করি, পিজ্জা সস্তা? , তবে তারপরে আপনি আরও তরকারি পান, তবে ... ইত্যাদি। :)

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

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

অবশ্যই, সমস্ত কিছুর পরের অংশটিও গুরুত্বপূর্ণ - আপনার যত বেশি কাজ হবে, চিন্তাভাবনা করতে সময় ব্যয় করতে হবে কম বিলাসিতা।


স্নিপেট প্রোগ্রামিং সবচেয়ে খারাপ অভ্যাসের সবচেয়ে খারাপ অনুশীলন
নীল বাটারওয়ার্থ

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

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

0

এখানে একটি কৌশল যা রেন হেনরিচস ( সহজ, রিফ্যাক্টর শুরু করুন ) এবং এমএমকিউ ( টাইমবক্সিং ) এর পরামর্শগুলিকে একত্রিত করেছে :

  1. কেবলমাত্র কাজ করে এমন প্রথম সমাধানের জন্য নিজেকে বেশ কঠোর সময়সীমা দিন । উদাহরণস্বরূপ একটি চলক নামের জন্য 30 সেকেন্ড। আপনি প্রথমে এরকম কিছু নিয়ে আসতে পারেন x, তারপরে এটি পরিমার্জন করতে পারেন string, তারপরে nameসময় শেষ না হওয়া পর্যন্ত।
  2. তারপরে কিছু নির্দিষ্ট সময় যেমন 10 মিনিটের জন্য অন্যান্য কার্যগুলিতে এগিয়ে যান ।
  3. কেবলমাত্র নিজের সিদ্ধান্তকে আরও উন্নত করার জন্য নিজেকে অন্য একটি টাইম বক্সের অনুমতি দিন , যেমনuserHandle

এই পদ্ধতির সম্ভাব্য সুবিধা :

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

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

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

0

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


0

সাধারণত আপনি যে কারণে সিদ্ধান্ত নিতে পারবেন না তা হ'ল পার্থক্যটি তুচ্ছ বা আপনার কাছে পর্যাপ্ত তথ্য নেই।

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

ক্ষেত্রে খ) - আপনার আরও তথ্যের প্রয়োজন, এবং আপনার বড় ফ্যাট এ এর ​​চারপাশে বসে .... সমস্ত দিন এটি সরবরাহ করে না। ডিজাইন মোড থেকে বেরিয়ে তথ্য সংগ্রহের মোডে যান। প্রোটোটাইপস, প্রশ্ন জিজ্ঞাসা করুন, টেকনিকাল ম্যাগাজিনগুলি পড়ুন। আপনি যা করেন না, এটি খুব বেশি সময় ধরে ঘুমোবেন না।


0

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

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

সমস্যাটি বর্ণনা করুন, তারপরে সম্ভাব্য সমাধানগুলি বলুন, প্রতিটি সম্পর্কে কী ভাল etc.

যদিও এটি সর্বদা কার্যকর হয় না, আপনার মাথা (র‌্যাম) থেকে বেরিয়ে আসা এবং বাহ্যিক মিডিয়া (নোটপ্যাড ডকুমেন্ট) এ চিন্তাভাবনাগুলি আপনাকে নতুন সংযোগ তৈরি করার এবং বিভিন্ন দৃষ্টিকোণ থেকে সিদ্ধান্তটি দেখার আরও স্বাধীনতা দেয়।


0

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

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

TLDR; একটি যুক্তিসঙ্গত সমাধান চয়ন করুন, আপনি যেতে হিসাবে এটি উন্নত।

এটি প্রাসঙ্গিক:

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

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

http://www.codinghorror.com/blog/2008/08/quantity-always-trumps-quality.html থেকে ।


-8

আমি এটা কখনই বুঝতে পারি না। আমি যখন একজন প্রশিক্ষক ছিলাম তখন আমি এমন কিছু বলতাম:

"OK, create an integer variable and assign the return value of strlen() to it."

খুব জটিল নয়, আপনি ভাবতে পারেন এবং 95% মানুষ এই জাতীয় কিছু লিখেছেন:

int x;   // or y, or len, or whatever
x = strlen( s );

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

এই লোকেরা অন্য ক্যারিয়ারের সন্ধান করা উচিত। যেমনটি আপনারও হওয়া উচিত।


2
@ অ্যানি আমি অনুমান করছি না - আপনি নিজেই বলেছিলেন যে জিনিসগুলির জন্য নামগুলি চিন্তা করা আপনার পক্ষে কঠিন বলে মনে হয়েছে - "খুব ভালভাবে, সেরা নকশার সিদ্ধান্তটি বেছে নেওয়ার সময় আমি আটকে থাকি small এমনকি ছোট বিবরণের জন্য যেমন ... পরিবর্তনশীল নামগুলি"
নিল বাটারওয়ার্থ

3
এবং কেন কিছু জিনিস নামকরণ করতে আমার অসুবিধা হওয়ায় আমি কেন অন্য ক্যারিয়ারের সন্ধান করব? প্রতিটি ধারণারই প্রাকৃতিক ভাষায় একটি পরিষ্কার, সংক্ষিপ্ত ম্যাপিং থাকে না।
আন নোনিমাস

2
@ অ্যানি আপনার মূল প্রশ্নের জোর আমার কাছে মনে হয়েছে যে ভাল প্রোগ্রামারদের স্বাভাবিকভাবেই যা আসে তা করতে আপনার সমস্যা হচ্ছে। এতে কোনও লজ্জা নেই - বেশিরভাগ লোকেরা (এমনকি বেশিরভাগ প্রোগ্রামারও!) এই জিনিসগুলি করতে ভয়ঙ্কর। তবে, ধরে নিলাম যে আমার মতো আপনি কেবল এমন কিছু করতে পেরে খুশি হতে পারেন যা আপনি সত্যিই ভাল করছেন, আমি পরামর্শ দিয়েছিলাম যে প্রোগ্রামিংটি আপনার জন্য কাটানো নাও হতে পারে। আমি আমার প্রাপ্তবয়স্ক জীবনের প্রথম 10 বছর মাইক্রোবায়োলজিস্ট হিসাবে কাটিয়েছি। আমি এতে খুব একটা ভাল ছিলাম না, এবং আমি যখন একজন প্রোগ্রামার হিসাবে পরিবর্তিত হই তখন অনেক বেশি খুশি হতাম।
নিল বাটারওয়ার্থ

3
সবার জন্য একটি বন্ধুত্বপূর্ণ অনুস্মারক: আপনি যদি উত্তরটির সাথে একমত না হন তবে তা প্রকাশ করতে ডাউনভোটগুলি ব্যবহার করতে নির্দ্বিধায় অনুভব করুন। উভয় পক্ষের ব্যক্তিগত আক্রমণগুলি সরানো হবে।
অ্যাডাম শিখুন

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