এটি বেশিরভাগ মতামত-ভিত্তিক আমার মনে হয় তবে আমি আমার 2 পি তে রাখব।
আমি সবসময় কাজ করেছি নিজেকে জিজ্ঞাসা করে হয়, কি জ্ঞান আমার কোড ন্যূনতম পরিমাণ চাহিদা তার করতে অনুমিত কি আছে?
যদি আমার কোডটি কেবলমাত্র কোড ব্যবহার করে Other team's library
তবে আমি কেবল Other team's library
নির্ভরতা হিসাবে অন্তর্ভুক্ত করব ।
যদি আমার কোড থেকেও কোড ব্যবহার করা হয় Third-party library
, তবে আমি এটিকেও অন্তর্ভুক্ত করব।
আসুন আমি থেকে নিম্নোক্ত শ্রেণীর ছিল My Library
, Other Library
এবং Third-party Library
(আমি উদাহরণ কোডের জন্য জাভা ব্যবহার করব)
package mylibrary;
import otherlibrary.Bar;
public class Foo {
public void doFoo() {
Bar bar = new Bar();
bar.doBar();
}
}
মধ্যে Other Library
package otherlibrary;
import thirdparty.Baz;
public class Bar {
public void doBar() {
Baz baz = new Baz();
baz.doSomething();
}
}
মধ্যে Third-party library
package thirdparty;
public class Baz {
public void doBaz() {
System.out.println("baz");
}
}
কারণ আমার কোডটি Foo
কেবলমাত্র কোডের উপর নির্ভর করে otherlibrary
, আমি কেবল এটিই অন্তর্ভুক্ত করব, কারণ এটাই আমার যত্নশীল। আমি কেয়ার করি না কিভাবে otherlibrary.Bar#doBar
কী যাই হোক না কেন এটা আছে, আমি শুধু এটা কি করতে চান।
তবে, আমরা এর সাথে কিছু করার মতো otherlibrary.Bar#doBar
একটি গ্রহণযোগ্যতা পরিবর্তন করেছি Baz
like
public void doBar(Baz baz) {
baz.doBaz();
}
আমার তখন mylibrary.Foo#doFoo
এমন কিছু বদলাতে হবে
public void doFoo() {
Bar bar = new Bar();
Baz baz = new Baz();
bar.doBar(baz);
}
কারণ আমি এখন আগ্রহী Bar#doBar
তার জিনিস করতে যাচ্ছে, এবং আমার কোড প্রয়োজন জানেন যে সম্পর্কে Baz
কি আমি এটা করতে চাও, আমি লাইব্রেরি আমি অন্তর্ভুক্ত সম্পর্কে স্পষ্ট হতে হবে।
যদি আমার কোডটি অবশ্যইthirdparty
লাইব্রেরির মধ্যে থাকা জিনিসগুলি সম্পর্কে জানতে পারে তবে অবশ্যই আমি এটিকে নির্ভরতা হিসাবে অন্তর্ভুক্ত করব ।
যদিও সম্ভবত লেখকের Bar
এই বিবরণগুলির আরও বেশি গোপন করা উচিত তাই আমার thirdparty
গ্রন্থাগারটি অন্তর্ভুক্ত করার দরকার নেই ...
thirdyparty
সংস্করণ 4 দিয়ে শুরু করি এবংotherlibrary
সংস্করণ 3 প্রয়োজন you আপনি ভাবেন লোকেরা এটি সম্পর্কে কী করবেন?