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