আমি গো ব্যবহার করে একটি নতুন প্রকল্পে কাজ করছি, এবং আমরা সবাই গোতে নতুন। আমরা স্ট্যান্ডার্ড গো ডিরেক্টরি কাঠামো অনুসরণ করছি এবং সমস্ত কোড এর অধীনে
$ GOPATH / src / github.com / CompanyName / projectname
এটি একটি গিট সংগ্রহস্থলের মূলও
স্ট্যান্ডার্ড প্রস্তাবিত পাথ লেআউটটি কিছুটা অদ্ভুত বলে মনে হচ্ছে, বিশেষত যদি আমরা একটি বহু-ভাষা প্রকল্পে কাজ করি, যেমন একটি গো-ভিত্তিক বিশ্রাম / HTTP ব্যাকএন্ড এবং একটি এইচটিএমএল / জাভাস্ক্রিপ্টের ফ্রন্ট-এন্ড। সেক্ষেত্রে আমি সম্ভবত আমার প্রকল্প কাঠামোটি দেখতে চাই:
/
doc/
src/
server/
main.go
module1/
module.go
client/
index.html
Makefile
তবে কোডটি গোপ্যাথের ভিতরে রাখা কি আসলেই দরকার?
প্রয়াস হিসাবে আমি একটি ছোট প্রোগ্রাম তৈরি করেছি যেখানে উত্স কোডটি গোপ্যাথের বাইরে ছিল। আমি প্রকল্পটি সহজেই প্যাকেজগুলিতে ভাগ করতে পারি, সুতরাং প্যাকেজটি কোনও ফোল্ডারে main
কোনও foo
প্যাকেজ foo/
ব্যবহার করে রেফারেন্স করতে পারে import "./foo"
।
আমি যতদূর দেখতে পাচ্ছি, দুটি জিনিস এগুলি আমাকে অস্বীকার করে:
- অন্যান্য কোড এই কোডটি আমদানি করতে পারে না। এটি কোনও সমস্যা নয় কারণ আমরা বিশেষত সংস্থার জন্য একটি পরিষেবা তৈরি করছি।
- আমি
go install
এটি ইনস্টল করতে ব্যবহার করতে পারি না । এটিও কোনও সমস্যা নয়। বিল্ড পাইপলাইনটি সরঞ্জামটি ইনস্টল করে।
তবে এটি বিল্ড সার্ভারকে এর কর্মক্ষেত্রটি GOPATH এর মধ্যে না থাকতে দেয়
এই জাতীয় দৃষ্টিভঙ্গি কি নিরুৎসাহিত? যদি তাই হয় তবে কেন?
আমি তালিকাভুক্ত দুটি ছাড়াও কি অন্য নেতিবাচক পার্শ্ব প্রতিক্রিয়া রয়েছে?
মনে রাখবেন যে এটি কোনও সংস্থার জন্য ব্যক্তিগত প্রকল্প, পাবলিক ওপেন সোর্স কোড নয়।
গোপথ থেকে আসল প্রকল্পটি বিচ্ছিন্ন করা লোভনীয় বলে মনে হচ্ছে, তবে আপনি যখন শু মঞ্চে থাকবেন তখন নিয়ম ভাঙার ক্ষেত্রে আমাদের অবশ্যই যত্নবান হওয়া উচিত