আমি আমাদের বর্তমান প্রকল্পের আর্কিটেকচারটি বিকাশ করেছি এবং এটি নিজে থেকেই বিকাশ শুরু করেছি (যেমন কিছুতে পৌঁছানো revision 40
) ।
আমরা একটি সাধারণ সাবওয়ে রাউটিং ফ্রেমওয়ার্কটি বিকাশ করছি এবং আমার নকশাটি খুব ভালভাবে সম্পন্ন হয়েছে বলে মনে হয়েছিল - বেশ কয়েকটি প্রধান মডেল, সম্পর্কিত মতামত, মূল যুক্তি এবং ডেটা স্ট্রাকচারকে "যেমন হওয়া উচিত" মডেলিং করা হয়েছিল এবং রেন্ডারিং থেকে সম্পূর্ণ পৃথক করা হয়েছিল, অ্যালগরিদমিক অংশটিও বাস্তবায়িত হয়েছিল প্রধান মডেলগুলি বাদে এবং সংক্ষিপ্ত সংখ্যক ছেদ পয়েন্ট ছিল।
আমি সেই নকশাকে স্কেলেবল, কাস্টমাইজেবল, সহজ-বাস্তবায়িত, বেশিরভাগ "ব্ল্যাক বক্স ইন্টারঅ্যাকশন" এর উপর ভিত্তি করে ইন্টারঅ্যাক্ট বলব এবং, খুব সুন্দর।
এখন, কি করা হয়েছিল:
- আমি সংশ্লিষ্ট ইন্টারফেসগুলির কিছু বাস্তবায়ন শুরু করেছি, কিছু সুবিধাজনক লাইব্রেরি পোর্ট করেছি এবং কিছু অ্যাপ্লিকেশন অংশের জন্য বাস্তবায়ন স্টাব লিখেছি।
- কোডিং স্টাইল এবং সেই কোডিং শৈলী ব্যবহারের উদাহরণ (আমার নিজের লিখিত কোড) বর্ণনা করার সাথে আমার কাছে দস্তাবেজ ছিল।
- আমি কোড (স্মার্ট পয়েন্টারগুলির মাধ্যমে মোড়ানো) এবং ইত্যাদি
C++
সহ কম বেশি আধুনিক বিকাশ কৌশল ব্যবহার করতে বাধ্য করেছিলামno-delete
etc. - আমি কংক্রিট ইন্টারফেস বাস্তবায়নের উদ্দেশ্য এবং সেগুলি কীভাবে ব্যবহার করা উচিত তা নথিভুক্ত করেছি।
- ইউনিট পরীক্ষাগুলি (বেশিরভাগ ক্ষেত্রে, সংহতকরণ পরীক্ষা, কারণ "প্রচুর" প্রকৃত "কোড ছিল না) এবং সমস্ত মূল বিমূর্ততার জন্য মকসের সেট।
আমি 12 দিন অনুপস্থিত ছিলাম ।
আমাদের এখন কী আছে (প্রকল্পটি টিমের আরও 4 জন সদস্য বিকাশ করেছিলেন):
- প্রজেক্ট জুড়ে 3 টি পৃথক কোডিং শৈলী (আমার ধারণা, তাদের মধ্যে দুটি একই স্টাইল ব্যবহার করতে সম্মত হয়েছিল :) , এটি আমাদের বিমূর্তকরণের নামকরণের ক্ষেত্রে প্রযোজ্য (যেমন
CommonPathData.h
,SubwaySchemeStructures.h
) , যা মূলত কিছু ডেটা স্ট্রাকচারের ঘোষণার শিরোনাম। - সম্প্রতি প্রয়োগ করা অংশগুলির জন্য ডকুমেন্টেশনের সম্পূর্ণ অভাব।
- আমি সম্প্রতি যা বলতে পারি তা
single-purpose-abstraction
কমপক্ষে 2 বিভিন্ন ধরণের ইভেন্টগুলি পরিচালনা করে, অন্যান্য অংশগুলির সাথে আঁটসাঁটভাবে মিলিত হয় so - ব্যবহৃত ইন্টারফেসের অর্ধেকটিতে এখন সদস্য ভেরিয়েবল রয়েছে
(sic!)
। - প্রায় সর্বত্র কাঁচা পয়েন্টার ব্যবহার।
- ইউনিট পরীক্ষা অক্ষম, কারণ "
(Rev.57) They are unnecessary for this project
"। - ... (এটি সম্ভবত সব কিছু নয়) ।
প্রতিশ্রুতিবদ্ধ ইতিহাস দেখায় যে আমার নকশাটিকে ওভারকিল হিসাবে ব্যাখ্যা করা হয়েছিল এবং লোকেরা এটি ব্যক্তিগত সাইকেল এবং পুনরায় প্রয়োগকারী চাকার সাথে একত্রিত করতে শুরু করেছিল এবং তারপরে কোড খণ্ডগুলি সংহত করতে সমস্যা হয়েছিল ।
এখন - প্রকল্পটি এখনও যা করতে হবে তা কেবলমাত্র একটি সামান্য পরিমাণে করে, আমাদের মারাত্মক সংহতকরণের সমস্যা রয়েছে, আমি ধরে নিই কিছু মেমরি ফুটো।
এক্ষেত্রে কি কিছু করা সম্ভব?
আমি বুঝতে পারি যে আমার সমস্ত প্রচেষ্টার কোনও লাভ হয়নি, তবে সময়সীমা খুব শীঘ্রই এবং আমাদের কিছু করতে হবে। কারও কি এরকম পরিস্থিতি ছিল?
মূলত আমি ভেবেছিলাম যে প্রকল্পের জন্য একটি ভাল (ভাল, আমি যা করতে পেরেছিলাম তা করতে পেরেছি) সম্ভবত কিছু সুন্দর কিছু ঘটায়, তবে, আমি বুঝতে পারি যে আমি ভুল।