যদি কোনও বৈশিষ্ট্য বাস্তবায়নের জন্য আমার কাছে ভাল ধারণা না থাকে তবে কী হবে? [বন্ধ]


32

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

আমার এগিয়ে যাওয়া দরকার তবে আমি জানতে চাই, সেরাটি কী:

  • আরও চিন্তা করুন, আরও অপেক্ষা করুন এবং সর্বোত্তম পদ্ধতির সন্ধান চালিয়ে যান
  • সময় নষ্ট করা বন্ধ করুন এবং দুর্বল ডিজাইন দিয়ে শুরু করুন, সমস্ত কিছু পরীক্ষার মাধ্যমে coveringেকে রাখুন

আপনি কি মনে করেন? যেমনটি আগেই বলেছি, আমি আমার নিজের অ্যাপ্লিকেশনটিতে কাজ করছি। আমার কোনও সময়সীমা নেই, তবে আমি অ্যাপ্লিকেশনটিকে কোডিংও শেষ করতে চাই।



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

দ্রষ্টব্য: যদি অ্যাপ্লিকেশনটি সাফল্য হয় তবে আপনি কখনই "এটিকে কোডিং শেষ করবেন না" এবং বৈশিষ্ট্যগুলি যাইহোক পুনরায় ডিজাইন করা হবে। সুতরাং আমি এটি এখন সবচেয়ে ভাল উপায় বাস্তবায়নের সাথে যেতে হবে।
Ren

উত্তর:


41

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

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

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


6
সবচেয়ে ঝুঁকিপূর্ণ, স্বল্পতম বোঝা কোডটি লেখার নেতিবাচক দিকটি হ'ল আপনি এটি খুঁজে পেতে পারেন যে সমস্যাটি সমাধান করা সম্ভব নয়, বা কেবলমাত্র প্রোগ্রামের আর্কিটেকচারে যথেষ্ট পরিবর্তন সহ এটি সমাধান করা সম্ভব, যার ফলে প্রচুর অপচয় করার প্রচেষ্টা ঘটবে।
রিচ স্মিথ

1
এই পদ্ধতির অন্য দিকগুলি আপনাকে মাঝে মাঝে নিয়ে যায়, "আমি এক্স সমস্যার সমাধান করতে পারি। বাস্তবে যখন, Y সম্ভাব্য নয় এবং আসল সমাধানটি জেড
ব্রায়ান

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

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

14

যদি অনুসন্ধান ব্যর্থ হয়, আপনি সর্বদা আপনার (প্রথমটির জন্য সর্বোত্তম নয়) ধারণাটি ব্যবহার করে সর্বদা বাস্তবায়ন করতে পারেন এবং যখন আপনি সঠিক পদ্ধতির সন্ধান করেন তখন পরে এটিকে রিফ্যাক্টর করুন।

এটি সঠিক পন্থা, যেহেতু আপনি কোনও ভাল ধারণা বলে মনে হচ্ছে এমন কিছু খুঁজে পেয়েও এটি পরে খারাপ হতে পারে। অথবা এটি সেই সময়ে ভাল হতে পারে তবে পরে আপনি আরও ভাল কিছু খুঁজে পাবেন। তারপরে আপনাকে এখনও রিফ্যাক্টর করতে হবে।

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


1
এটা তোলে এই পোস্টে অধিকৃত হবে বলে মনে হয়, কিন্তু আমি যোগ করার জন্য এটি করা থাকে খুব গুরুত্বপূর্ণ আপনি একটি ফ্যাশন আপনার কোড লিখতে এটি পুনরায় ফ্যাক্টর করা সহজ।
সি_মেকার

@ সি_মেকার অবশ্যই হ্যাঁ। অন্যথায়, স্ক্র্যাচ থেকে পরে সবকিছু পুনরায় লেখার কোনও অর্থ হয় না। আমি এটি উত্তরে যুক্ত করব। ধন্যবাদ
BЈовић

10

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


এটি যদি ইউজার ইন্টারফেসের সমস্যা হয় তবে ux.stackexchange.com
রব চার্চ

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

2
পরামর্শ কপিরাইট করা যেতে পারে? অবশ্যই লেখক এটিকে টিউটোরিয়াল হিসাবে ব্যবহার করবেন, অনুলিপি / পেস্ট করবেন না?
গ্রিজওয়াকো

@ এসএমসিজি: বিষয়টি এখানে আলোচনা করা হয়েছিল: meta.stackexchange.com/questions/12527/… - তবে সত্যই, সত্যই যদি এটি একটি সমস্যা হয়ে থাকে তবে গ্রিজলির পরামর্শ অনুসারে কেউ এটিকে রোধ করতে পারে বলে আমি মনে করি।
ডক ব্রাউন

@ ডকব্রাউন আইএনএল তাই আমি এটি নিশ্চিত করে বলতে পারি না যে এটি যদি ধরে থাকে তবে কখনও কখনও সতর্কতার দিক থেকে ভুল করা ভাল।
এসএমসিজি

2

কয়েকটি ধারণা:

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

  • এটি গুগল সাহায্যের জন্য জিজ্ঞাসা করুন, এখানে জিজ্ঞাসা করুন, আপনার geek বন্ধুদের জিজ্ঞাসা, ইত্যাদি।
  • সম্পর্কিত সমস্যা
    সমাধান করুন আপনি সমস্যাটি সমাধান করতে পারবেন না , তবে আপনি কি আরও সহজ সমাধান করতে পারবেন? বা একটি সমান জটিল, সম্পর্কিত? কর এটা. তারপরে আপনার সমাধানটিকে পছন্দসই সমাধানের আরও কাছে আনতে ছোট, স্বতন্ত্র পরিবর্তন করুন।

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

2

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


1

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

আদর্শভাবে আপনি আপনার অ্যাপ্লিকেশনটির সমস্ত বৈশিষ্ট্য ম্যাপ করতে এবং শেষ ব্যবহারকারীর সুবিধার্থে তাদের অগ্রাধিকার দিতে চান, ব্যক্তিগতভাবে আমি এমওএসসিডাব্লু ব্যবহার করি , যদিও যতক্ষণ আপনি নিজের অগ্রাধিকারের পদ্ধতিটি ধরে রাখেন যতক্ষণ না এটি 1 হিসাবে সহজ হতে পারে - 5।

যার পরে যদি আপনি এখনও খুঁজে পান যে এই বৈশিষ্ট্যটি আপনার অ্যাপ্লিকেশনটির একটি অত্যাবশ্যক অংশ তবে লোকেরা যেমন ইতিমধ্যে বলেছে, জিজ্ঞাসা করুন! আমি মনে করি না যে আমি কখনও এমন সমস্যার মুখোমুখি হয়েছি যা শেষ পর্যন্ত কোনও সহকর্মী বা স্ট্যাকওভারফ্লোতে থাকা সেই চমৎকার ব্যক্তিদের দ্বারা সমাধান করা হয়নি।


শীতল, কারণ আমি মস্কো থেকে এসেছি :)
ব্যবহারকার 21974

সেখানে আপনি এটি একটি চিহ্ন যান!
Mrk Fldig

1

আমার মতামত: কখনই কোড লিখবেন না যা কেবল কাজ করে! ভবিষ্যতে রিফ্যাক্টর করা খুব কঠিন হওয়া উচিত।

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

আমার পরামর্শ হ'ল, আপনার সমস্যার জন্য কিছু সময়ের জন্য চিন্তাভাবনা বন্ধ করুন .... অন্য কিছু করুন, এবং কিছু সময় সমাধানগুলি কেবল নিজেরাই প্রকাশিত হবে।

বিটিডব্লিউ, একজন সহকর্মীকে জিজ্ঞাসা করা আপনার সমস্যা সমাধানের একান্ত দুর্দান্ত উপায়।

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