সবচেয়ে আফসোস ডিজাইন বা প্রোগ্রামিংয়ের সিদ্ধান্ত আপনি নিয়েছেন? [বন্ধ]


57

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

আমি নিশ্চিত যে অন্যান্য প্রোগ্রামারদের এই সিদ্ধান্তগুলি পুনরায় না ঘটাতে তাদের সহায়তা করে এটি অনেক সাহায্য করবে।

আপনার অভিজ্ঞতা ভাগ করার জন্য ধন্যবাদ।


19
খুব বেশি সময় ব্যয় !! ;)
মিচ গম

6
@ জর্জ: মনে হচ্ছে আপনার প্রথম লিঙ্কটি ওভার ইঞ্জিনিয়ারিং সম্পর্কিত, যা এই থ্রেডের সাথে জড়িতভাবে সম্পর্কিত হতে পারে তবে এটি কোনও সদৃশ নয়। দ্বিতীয় এবং শেষের লিঙ্কগুলি কোডিংয়ের ত্রুটিগুলি এবং পরিচালনকে নষ্ট করে দেয়, যার কোনটিই এই থ্রেডের সদৃশ নয়।
জুলিয়েট

1
এটি সম্ভবত একটি সম্প্রদায়ের উইকি তৈরি করা উচিত (আপনি পোস্ট সম্পাদনা করার সময় একটি বাক্স রয়েছে)।

3
আমি আশা করি নিকটকে মোকাবেলার জন্য ভোট দেওয়ার কোনও উপায় ছিল। নিচে নামবেন?
কিয়েভেলি

5
সমস্ত বদ্ধ ভোটারদের কী ভুল? সুতরাং যদি এটি কোনও সিডব্লিউ না হয় তবে প্রশ্নটি সামনে আসার জন্য প্রশ্নকারীকে কিছু ভোট দিন। আমি এই বিষয়টির সাথে সত্যই আগ্রহী। সিডাব্লুউকে ভাল সাবজেক্টিভ প্রশ্নের পথে আসতে দেবেন না। শীশ, SO "CW THIS" স্ক্রিমারে পূর্ণ।
syaz

উত্তর:


73

YAGNI উপেক্ষা করে বার বার ...


22
বেশিরভাগ ক্ষেত্রে সত্য, তবে এমন লোকেরাও আছেন যাঁরা কিছুটা কম YAGNI ব্যবহার করতে পারেন। উভয়ই চূড়ান্ত হওয়ার সেরা জায়গা নয়।
80x24 কনসোল

56

"পরে এটি করব"
"পরে" কখনই আসে না।


8
পরে আর আসে না।

এটা কখনও হয় না।

বলা হয়েছে, যদি এখনই এটি করার সময় না পেয়ে থাকেন তবে আপনি কী মনে করেন যে পরে এটি ঠিক করার সময় আপনার হাতে আসবে?

4
আমরা এই "পুনরাবৃত্তি কখনও" না
নোটম

10
অস্থায়ী সমাধানের মতো স্থায়ী কিছুই নেই।
ডায়েটবুদ্ধ

52

19
এটিকে পুনরায়
উজ্জীবিত

হ্যাঁ ... বেদনাদায়ক অভিজ্ঞতা ...
এড এস

আমার সবেমাত্র একটি কুরুচিপূর্ণ ফ্ল্যাশব্যাক ছিল
নিল এন

1
@ জায়ে এ সময়টি আসলে একটি ভাল ধারণা বলে মনে হয়েছিল।

6
এর অর্থ কী তা আমি জানি না, তবে বেদনাদায়ক শোনাচ্ছে +1
ডিসিঞ্জিটর

44

কোনও অ্যাপ্লিকেশনটিতে কনফিগারেশন খুব সুন্দর। খুব বেশি কনফিগারেশনে ব্যবহার করা এবং বজায় রাখা একটি দুঃস্বপ্ন।


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

1
দুর্ভাগ্যক্রমে ব্যবহারকারীরা আমাদের প্রকল্প পরিচালনার জন্য এমন একটি স্বতন্ত্র কনফিগারযোগ্য সিস্টেমগুলির সাথে আটকে গিয়েছিলেন, আমি কেবল এটিই বলতে পারি, যদি আমি পারতাম তবে আমি আপনাকে এক মিলিয়ন বার উন্নীত করব।
এইচএলজিইএম

কনফিগারেশনের ওভারফ্ল্যাক্সিবিলিটি সাধারণত কারণ আপনি রানটাইম সময় স্বেচ্ছাসেবক কোড কার্যকর করতে পারবেন না, তাই আপনার সবকিছু প্রত্যাশা করা প্রয়োজন।

এটিকে "হার্ডকোডিং" এর বিপরীতে «স্পফটকোডিং called বলা হয়
30:38

42

আমার একটি ভুল থেকে আমি শিখেছি যে ডিবি স্বাভাবিককরণ অন্ধভাবে অনুসরণ করা উচিত নয়। আপনি করতে পারেন এবং কিছু পরিস্থিতিতে আপনার টেবিলগুলি সমতল করতে হবে।

আমি টেবিলগুলির লোডগুলি পরিচালনা করে শেষ করেছি (মডেলগুলির মাধ্যমে) এবং টেবিলগুলির জন্য সামান্য সমতলকরণের সাথে পারফরম্যান্সটি এতটা ভাল ছিল না।


5
আমি আরও একমত হতে পারি না ... আমি একটি সফটওয়্যার ইঞ্জিনিয়ার এবং আমাদের সর্বদা স্বাভাবিক করার জন্য বলা হয়। কি ছিটেফোঁটা। এটি কেবলমাত্র কারণেই শিক্ষকরা সত্যিকারের জটিল এবং পারফরম্যান্স নির্ভর ডিবি'র সাথে কাজ করার চেষ্টা করেনি।

8
আমি যোগ করতে পারে যে স্বাভাবিকীকরণ অবশ্যই খুব ইতিবাচক হতে পারে।

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

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

7
তবে সাধারণীকরণ মজাদার! :) আমি গুরুতর, আমি ডেটা স্ট্রাকচার ডিজাইনিং উপভোগ করি। আমি যা বলব তা হ'ল একটি সাধারণ স্কিমাকে ডি-নরমাল করা সহজ, বিপরীতটি সত্য নয়। তাদের ভাঙ্গার আগে আপনাকে নিয়মগুলি জানতে হবে।

36

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

আমার ধারণা এটি অকালীন অপ্রয়োজনীয় এবং অন্ধ অনুকূলকরণের একটি রূপ। যেন একক চর ব্যবহার করে আজকাল পৃথিবী বাঁচবে। ডেটাবেজে ওয়াই / এন বুলিয়ানগুলি ছাড়াও যেগুলি বুলিয়ান / বিটগুলি সমর্থন করে না।


+1 আমরা এই বিষয়টি নিয়ে সবেমাত্র একটি সভা করেছি। আমরা একই সিদ্ধান্তে পৌঁছেছি।
এপিসি

যদি আপনার গ্রাহক এই জাতীয় সংক্ষিপ্তসারগুলি নিয়ে কাজ করেন এবং সেগুলি ত্যাগ করতে চান না?

বিদ্যমান সিস্টেমে আপনার সামঞ্জস্যপূর্ণ হওয়া দরকার (অবশ্যই আমি অবশ্যই একটি <code> MyEnum fromChar (চর সি) </code> পদ্ধতি) সহ সঠিক মানের একটি জাভা এনাম তৈরি করব। নতুন ডিজাইনের জন্য, কেবল সেখানে যাবেন না!

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

2
প্রায় খারাপ হিসাবে: এমএস এসকিউএল সার্ভারে বিআইটি টাইপ ব্যবহার করে এটি আবিষ্কারের আগে এটি কোনও সূচকের অংশ হতে পারে না।
Finnw

32

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

... খুশী আমি অতীত হয়ে গেলাম, যদিও আমি এখনও 20+ বছরের "অভিজ্ঞতা" সহ প্রোগ্রামারদের দেখি।


16
আমি এটি কোথায় পড়েছি তা মনে করতে পারছি না, তবে 20 বছরের অভিজ্ঞতা এবং এক বছরের অভিজ্ঞতার মধ্যে 19 বার পুনরাবৃত্তি হয়েছে।
ক্যাফগিকে

@ চাদ: এটি কোথাও জোয়েল স্পলস্কির লেখায় ছিল।

+1: হ্যাঁ এবং সেই এসকিউএল-তে আবদ্ধ সমস্ত যুক্তিকে রিফ্যাক্টর করার চেষ্টা করুন ... এটি ইনলাইন, ফ্রি-ফর্ম এসকিউএল বা সঞ্চিত প্রকোস হোক। [হ্যাঁ - আমি সেই পবিত্র যুদ্ধ থেকে ভয় পাই না]]
জিম জি।

26

ভাবছি আমি একই প্রকল্পের স্থপতি, বিকাশকারী এবং প্রধানমন্ত্রী হতে পারি।

2 মাস ঘুমাতে 2 মাস আমাকে শিখিয়েছিল আপনি এটা করতে পারবেন না।


15
তাই এত ঘুমানো বন্ধ! ওহ, অপেক্ষা করুন ... আপনার মানে স্বাভাবিক নয় ... ?? হুম, আমি এই প্রকল্পে আমাকে আরও কিছু লোককে পেয়ে যাব ...
AviD

প্রধানমন্ত্রীর মতো মনে হচ্ছে আপনার অনুমানের সাথে কিছু প্রশিক্ষণের দরকার আছে :)

21

জাভা আইডিই লেখার জন্য মাইক্রোসফ্ট ফাউন্ডেশন ক্লাস (এমএফসি) চয়ন করা।


3
Owwww। এটি আমার মস্তিষ্ককে আঘাত করবে।
গ্রেগ ডি

2
1999 সালে এটি কোনও খারাপ সিদ্ধান্ত ছিল না A তখন এডাব্লুটিটি ছিল কুরুচিপূর্ণ এবং ধীর।
ফিনউইউ

ফিনউউ - ভাল, কমপক্ষে এখনও এটি কুৎসিত!
নিক্লাস এইচ

20

এটি আমার সিদ্ধান্ত ছিল না (আমি কিছুটা পরে এই সংস্থায় যোগ দিয়েছি) তবে কোথাও আমি কাজ করেছি তাদের সমস্ত লগ বার্তাগুলির অনুবাদ সহ i18n কিছুটা দূরে নিয়ে গেছে।

ফলাফল:

  • নতুন লগিং যুক্ত করতে আরও বেদনাদায়ক
  • অনুবাদ জন্য আরও খরচ
  • লগগুলি পরে পড়া আরও শক্ত

উফ।


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

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

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

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

1
+1 ইংলিশ হল প্রোগ্রামিংয়ের লিঙ্গুয়া ফ্র্যাঙ্কা। এটি অনুবাদ করা কেবল একটি অতিরিক্ত স্তর স্থাপন করা হচ্ছে যেখানে আপনার কম স্তর এবং যতটা সম্ভব পরিষ্কারতার প্রয়োজন।


19

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


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

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

17

বিশ্বাসী গ্রাহকরা কী চান তা জেনে রাখেন এবং তাদের সাথে চেক করার আগে খুব বেশি কাজ করেন।


15

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


এটি মজার এবং মর্মান্তিক উভয়ই :)

দুঃখজনক বিষয় হ'ল এই পন্থাটি কখনও কখনও যাওয়ার সর্বোত্তম উপায়। গ্রাহক হয় "মুহুর্তের নোটিশে স্ক্রিন পরিবর্তন করা যায়" বা "পর্দা চা তৈরির সাথে সবকিছুই করে" বাছাই করতে পারে তবে দুটোই নয়!

3
টেমপ্লেট বা অন্যান্য জেনেরিক কোড ব্যবহার করার বিরুদ্ধে আমার কিছু নেই। ভুলটি ছিল জেনেরিক কোডের এক টুকরোটিকে ভাষার-ভিতরে-ভাষার মধ্যে রূপান্তরিত করতে।

আমি এই ঠিক কাজটি দেখেছি ... ২০০৪ সালে! সমস্ত ব্যবসায়ের যুক্তি প্রায় পনেরোটি কনফিগারেশন টেবিলগুলিতে ছড়িয়ে পড়ে ডায়নামিক "ভাষাগুলিতে" অর্ধেক বেকড চেষ্টা সহ ভাল পরিমাপের জন্য নিক্ষেপ করা হয় (দেখুন গ্রেনস্পানের দশম বিধি)!

1
আপনি কি ফরট্রেনের চেয়ে কোবল বোঝাচ্ছেন না?
ফিনউইউ

15

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

যদি আপনি (কঠোর) সমস্ত কিছুকে বর্তমানের প্রয়োজনীয়তার সাথে হুবহু কোড করে থাকেন - এমন কাউকে মারধর করার সময় যে "এই আরও জেনেরিক হতে পারে না?" আপনার YAGNI ম্যালেট-এর সাথে এবং তারপরে প্রয়োজনীয়তাগুলি তীব্রভাবে পরিবর্তিত হয় (তবে এমন কোনও উপায়ে প্রত্যাশা করা যেতে পারে), তারপরে এটি গ্রহণ করতে 2 সপ্তাহ গ্রহণের মধ্যে, 20 মিনিট সময় নেওয়ার মধ্যে পার্থক্য হতে পারে।

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

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


1
হ্যাঁ এবং না, আপনি এটি অনুমান করতে পারেন যে এটি কোন দিকে পরিবর্তন হতে চলেছে? আমার কাছে বেদনাদায়ক জটিল সিস্টেমগুলির অভিজ্ঞতা রয়েছে যা প্রথম পুনঃব্যবহারের জন্য সম্পূর্ণ অপ্রতুল প্রমাণিত হয়েছিল, যা পূর্বাভাসের
উদারতার সাথে খাপ খায় না

হ্যাঁ, আমি বরং এই বাজেটের চেয়ে YAGNI এর সাথে ডিল করব।

সুতরাং আপনি কি মনে করেন যে আপনার 2 সপ্তাহ আগে প্রকাশ করা উচিত ছিল?
ফিনউইউ

4
সেই উদাহরণটি মোটেও YAGNI নয়। ডিআরওয়াই ইয়াগনির অংশ, এবং এটি ছাড়া আপনি পরিবর্তনে প্রতিক্রিয়াশীল থাকতে পারবেন না।

3
স্টিফান, উদাহরণটি ক্যাচ-বাক্যাংশের একটি গ্লাব এবং অনুপযুক্ত অপব্যবহার দেখায় যা আমার বক্তব্য ছিল। ডিআরওয়াই (তার বৈকল্পিক OAOO সহ) একটি ভাল নীতিও তবে একেবারেই পৃথক: c2.com/cgi/wiki?OaooBalancesYagni । তবে, "ডিআরওয়াই ইয়াগনির একটি অংশ" এই দাবিটি সমর্থন করার জন্য আমি কোথাও কিছুই খুঁজে পাচ্ছি না । সরিষা হটডগসের সাথে ভাল যায় তবে এর অর্থ সরিষা হটডগসের একটি অংশ নয়। আপনি যদি স্পষ্ট করে বলতে পারতেন, সম্ভবত রেফারেন্স সহ, সম্ভবত আমি বুঝতে পারব।
80x24

15

অযোগ্য মানবসম্পদ

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


1
আমি আপনার ব্যথা বুঝতে পারি :(

13

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


13

ব্যবহার SQL সার্ভার intergration সার্ভিসেস (SSIS)।

আমি আমার সবচেয়ে খারাপ শত্রু এর জন্য এটি কামনা করি না

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

খাঁটি। নেট পোকো কোডে আপনার এসএসআইএস প্যাকেজগুলি পুনরায় লেখার জন্য যখন আপনার 48 ঘন্টােরও কম সময় থাকে তখন এটি খুব খারাপ অবস্থার মধ্যে থাকে targeted

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

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

এই ছোট প্রিন্ট "গোটচা" এর কারণে আমার সংস্থা আর কখনও এসএসআইএস ব্যবহার করবে না।


সম্ভবত আপনার পুরোপুরি "ফাইন-প্রিন্ট" সফ্টওয়্যার ব্যবহার করা এড়ানো উচিত! উদাহরণস্বরূপ ক্যালেন্ডারগুলি একটি ওপেন-সোর্স ETL IDE।

+1: হ্যাঁ এসএসআইএস বিকাশের অভিজ্ঞতাটিও একটি দুঃস্বপ্ন। ইটিএল করার জন্য কমপক্ষে একটি অর্ধ-ডজন আরও ভাল উপায় আছে।
জিম জি


10

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

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

Mmmmmm ...


1
আইএমও, এটি "ভাল কাজ স্যার!"

18
খুব সাম্প্রতিককালে, আমার দল আমাকে "addin 'th'value (p) t'yer টেবিলের মতো বার্তাগুলির জন্য কটাক্ষ করেছে!" আমি বললাম দেখুন, তারা আমাকে জলদস্যু দিবসের মতো টক-এ কাজ করে দিয়েছে, তারা যা পায় তার প্রাপ্য।

3
আরে, আপনার লগগুলি কিল'হাউলিনের জন্য লাগবে!

10

এএসপি.নেট থিমগুলি ব্যবহার করা যখন কেবল একটি নিয়মিত অল 'সিএসএস ফোল্ডারটি ঠিকঠাক করে দিত।


হ্যাঁ!

1
এই উত্তরটি "
এএসপি.এনইটি

স্কিনগুলি ডিফল্ট CssClass সেট আপ করার জন্য দরকারী।
ন্যূনতম

8

সঠিক রাস্তার পরিবর্তে কিছু কোডের কাজ করার জন্য দ্রুত রাস্তাটি নেওয়া (কিছুটা সাধারণ, তবে আমরা এটিকে একটি বিমূর্ততা এবং সুতরাং একটি 'সঠিক' উত্তর বলব)।


7

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

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

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

  • প্রচুর অপ্রয়োজনীয় স্বাভাবিকীকরণ। 5 বা 10 ক্ষেত্র সমন্বিত একটি একক রেকর্ড 3 বা 4 টেবিলের মধ্যে বিভক্ত। আমি এটি মোকাবেলা করতে পারি, তবে আমি ব্যক্তিগতভাবে সমস্ত 1: 1 ক্ষেত্র একক টেবিলের মধ্যে টানতে চাই।

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

  • অনেক বেশি অনুপযুক্ত ডেনোরমালাইজেশন। কিছু অ্যাপ-ওয়াইড ফ্ল্যাগগুলি অনুপযুক্ত টেবিলগুলিতে কলাম হিসাবে সঞ্চিত থাকে, যেমন কোনও অ্যাপ্লিকেশন পতাকা পরিবর্তন করতে টেবিলের প্রতিটি রেকর্ড আপডেট করা প্রয়োজন।

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

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

আমার সমস্ত পরামর্শগুলি বেশ কাঁদতে এবং দাঁতে দাঁত ঘষে ফেলেছে। অ্যাপটি নকশা-নকশা হিসাবে কাজ করে, এবং এটি কাদামাটির একটি বড় বলের সময়, সমস্ত কদর্য হ্যাকস, বিশেষ মামলা এবং অদ্ভুত ব্যবসায়ের নিয়মগুলি উত্স কোডটিতে ব্যঙ্গাত্মক এবং মজাদারভাবে নথিভুক্ত করা হয়েছে।


3
ধার্মিকতা, আশা করি আপনার সিভি সুন্দর হয়ে গেছে এবং দ্রুত পালানোর জন্য আপ টু ডেট বড় কাদা কাক্সিক্ষেত্রের কবলে পড়ে!
বেনজল

7

পুরানো প্রযুক্তিটির সাথে লেগে থাকা কারণ এটি আপনার ক্লায়েন্টদের একটি নতুন .NET ফ্রেমওয়ার্ক সংস্করণে আপগ্রেড করতে খুব ঝামেলা বলে মনে হচ্ছে তবে সফ্টওয়্যারটি তৈরি করতে এটি আরও বিকাশ সময় নেবে কারণ আপনি কিছু (সময় সাশ্রয়কারী) উপাদান ব্যবহার করতে পারবেন না আরও নতুন কাঠামো সংস্করণ।


+1: হ্যাঁ - আমি সেখানে ছিলাম ... এবং যখনই আমি বুঝতে পারলাম যে n00bs আপগ্রেড হবে না, আমি আমার পশুর সবুজ চারণভূমিতে পালানোর পরিকল্পনা করতে শুরু করেছি।
জিম জি

এবং তাই আমি করেছি, পরের মাসে অবসর!
দ্রাক্ষালতা

6

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

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


আহ আহ হুইল রিভেন্টেটিংয়ের আনন্দ! :-) এটি মজার।

আমি এটিকে ইচ্ছাকৃত ত্রুটিগুলি বলি, যাতে আপনি এটি পরবর্তী পুনরাবৃত্তিতে উন্নতি করতে পারেন।
হোটনিক

2
ব্যতিক্রমগুলি কেবল ব্যতিক্রমগুলি পরিচালনা করার জন্য। অনেক কিছু ব্যতিক্রমকে সব কিছুকে ব্যতিক্রমে রূপান্তরিত করে ব্যতিক্রমগুলি আপত্তি করে।

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

6

আমার পদ্ধতির পছন্দ নয়, একটি সারি ভিত্তিক এক্সএমএল ফাইলকে কলাম ভিত্তিক এইচটিএমএল প্রতিবেদনে রূপান্তর করতে একটি এক্সএসএলটি তৈরি করেছে।

এটি কেবলমাত্র IE এ কাজ করেছিল, এটি কীভাবে কাজ করে তা ডিকোড করা সম্পূর্ণ অসম্ভব। যতবারই আমাদের এটি প্রসারিত করার দরকার ছিল, অসম্ভব কঠিন এবং যুগ যুগ ধরে।

শেষ পর্যন্ত, আমি একটি ছোট সি # স্ক্রিপ্ট দ্বারা প্রতিস্থাপন করেছি যা একই কাজ করেছিল।


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

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

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

6

সমস্ত নতুন প্রযুক্তি (নতুন প্রযুক্তি শেখার জন্য) ব্যবহার করার চেষ্টা করছে যদিও এটি এমনকি প্রয়োজন নেই ..


5

ব্যবসায়ের মডেলটি মূল্যায়ন করতে আমি যথেষ্ট সময় নিই না। ক্লায়েন্ট যা বলেছিল তা আমি করেছি, তবে 6-১২ মাস পরে আমরা দুজনেই এই সিদ্ধান্তে পৌঁছেছিলাম যে এটি অন্যভাবে করা উচিত ছিল।


4

কোনও স্পেসিফিকেশন ছাড়াই ডিজাইনিং।


3
চশমা সর্বদা সম্ভব নয়

"গ্রাহককে জিজ্ঞাসা না করেই সমাধানটি বাস্তবায়ন করা উচিত যা তারা যা চেয়েছিল তা যদি"; যার অর্থ সাধারণত আপনি চশমা অনুসরণ করেছিলেন।
ডায়েটবুদ্ধ

3

প্রয়োজনীয়তা অনুসারে আমি একটি অ্যাপ্লিকেশনের একটি উপ-বিভাগ প্রয়োগ করেছি।

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

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