ইন-সোর্স বিল্ড বনাম, উত্স-উত্স বিল্ড


10

আমার (প্রাথমিকভাবে সি ++) বিকাশে, আমি দীর্ঘকালীন উত্স-বিল্ডগুলি ব্যবহার করে চলেছি। এটি হল, আমার উত্স সাধারণত একটি /project/srcডিরেক্টরিতে বসে এবং বিল্ডগুলি লাইভ একটি /project/build/bin/release, /project/build/bin/debugডিরেক্টরিতে থাকে। আমি এটি করেছি কারণ এটি আমার উত্স ডিরেক্টরিগুলি মধ্যবর্তী ফাইলগুলি থেকে পরিষ্কার রাখে, আমার সমস্ত বাইনারিগুলির জন্য আমার একটি অবস্থান রয়েছে, প্যাকেজিং সহজ, পরিষ্কার করা সহজ এবং সংস্করণ নিয়ন্ত্রণ আরও সহজ। (আমি কিছু মিস করেছি?)

আমি এখন একটি (বৃহত) প্রকল্প উত্তরাধিকারী যা ইন-সোর্স বিল্ডগুলি ব্যবহার করে uses এই ধরণের কাঠামোর জন্য অনুপ্রেরণা কী এবং এর সুবিধা কী কী? (ইঞ্জিনিয়ারিং-স্তরের কারণে বনাম ব্যক্তিগত পছন্দের কারণগুলির সাথে আমি সবচেয়ে বেশি উদ্বিগ্ন))

আমি আশা করছিলাম লাকোসের "বৃহত্তর স্কেল সি ++ সফটওয়্যার ডিজাইন" এটিতে ওজন করতে পারে তবে আমি যদি তা না করি তবে এটি মিস করেছি।


2
দুঃক্ষিত। আমি "ইন উত্স বিল্ড 'x'" বা "তারা 'y'" বা "স্বয়ংক্রিয় পরীক্ষার পরে 'জেড'" করতে পারে তা নিশ্চিত করতে সহায়তা করে for অভিমান নয়। আমি এখানে বিশেষত মতামতের যুদ্ধে নামতে চাই না!
ডিআইবি

10
উত্স-বিল্ডগুলি আপনার পূর্বসূরীর অলসতার জন্য eণী একটি অভিশাপ। তারা প্রতিটি কিছুর (উত্স নিয়ন্ত্রণ, ক্রস-বিল্ডিং, পাঠ্য-সন্ধান ইত্যাদি) সম্পর্কে ভয়াবহ তবে খালি মেকফিলগুলি ব্যবহার করে তৈরি করা অবিশ্বাস্যরকম সহজ। দুঃখিত, এটি একটি অভিজাত ছিল। তবে একটি উদ্দেশ্য

1
"ইন-সোর্স" বলতে কী বোঝায়? এর মতো কিছু /project/src/bin/release, বা সত্যিই সমস্ত মধ্যবর্তী এবং আউটপুট ফাইলগুলিতে /project/src? এক ডজনেরও বেশি উত্স ফাইল রয়েছে তবে পূর্ববর্তীটি ঠিক আছে a
ডক ব্রাউন

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

4
পুনঃটুইট করেছেন আপনি কোথায় আইডিই ব্যবহার করছেন যেখানে এটি কেস? কিউটি এটি করে না, বাস্তবে এটি উত্স থেকে যতটা সম্ভব বিল্ডটি স্থাপন করা বলে মনে হচ্ছে, গ্রহনটি এটি করে না, আপনি সম্ভবত যুক্তি দিতে পারেন যে ক্লিয়োন সাজানোর এটি করে তবে কেবল তার পরিণতি হিসাবে main.cpp প্রাথমিকভাবে আপনার প্রকল্পের শীর্ষ স্তরে থাকা, এটি এখনও সেই শীর্ষ স্তরে আপনার উত্স থেকে দূরে একটি পৃথক চটকদার বিল্ড ডিরেক্টরি তৈরি করে। আমি বিশ্বাস করি এমএসভিএসও এই বিষয়ে ক্লিওনের সাথে সমান।
WHN

উত্তর:


9

এখানে সম্প্রদায়কে জিজ্ঞাসা করার পরে এবং অনলাইনে আমার অনুসন্ধান চালিয়ে যাওয়ার পরে আমি ইন-উত্স বিল্ডগুলি ব্যবহারের জন্য ইঞ্জিনিয়ারিংয়ের উল্লেখযোগ্য যৌক্তিকতা খুঁজে পাইনি। (এগুলি এড়ানোর অনেক কারণ রয়েছে))

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

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