আজই লম্বোক ব্যবহার শুরু করেছেন started এখন পর্যন্ত আমি এটি পছন্দ করি তবে একটি অপূর্ণতা যা আমি উল্লেখ করে দেখিনি তা হ'ল সমর্থনকে পুনরুদ্ধার করা।
যদি আপনার সাথে ক্লাসটি টীকাযুক্ত @Data
থাকে তবে এটি ক্ষেত্রের নামের উপর ভিত্তি করে আপনার জন্য গেটার এবং সেটটার তৈরি করবে। আপনি যদি এই ক্লাসগুলির মধ্যে একটির ব্যবহার অন্য ক্লাসে করেন, তবে ক্ষেত্রটি খারাপ নামকরণের সিদ্ধান্ত নিন, এটি সেই প্রযোজক এবং সেটটারদের ব্যবহারগুলি খুঁজে পাবে না এবং পুরনো নামটিকে নতুন নামের সাথে প্রতিস্থাপন করবে।
আমি কল্পনা করব এটি লম্বোকের মাধ্যমে নয় একটি আইডিই প্লাগ-ইনের মাধ্যমে করতে হবে।
আপডেট (জানুয়ারী 22 '13)
3 মাস ধরে লম্বোক ব্যবহার করার পরেও আমি বেশিরভাগ প্রকল্পের জন্য এটির প্রস্তাব দিই। তবে আমি অন্য একটি অপূর্ণতা পেয়েছি যা উপরের তালিকাভুক্তটির মতো।
আপনার যদি কোনও ক্লাস থাকে তবে MyCompoundObject.java
তার 2 জন সদস্য রয়েছে বলে মন্তব্য করুন @Delegate
, বলুন myWidgets
এবং myGadgets
যখন আপনি myCompoundObject.getThingies()
অন্য ক্লাসের পক্ষ থেকে কল করেন তখন এটি অ্যাসিপ্রেটিভড কিনা তা জানা অসম্ভব Widget
বা Gadget
কারণ আপনি আর আইডিই-র উত্সে যেতে পারবেন না।
Eclipse "ডেলিগেট পদ্ধতি উত্পন্ন করুন ..." ব্যবহার করে আপনাকে একই কার্যকারিতা সরবরাহ করা হয়, ঠিক তত দ্রুত এবং উত্স জাম্পিং সরবরাহ করে। খারাপ দিকটি হ'ল এটি আপনার উত্সকে বয়লারপ্লেট কোড দিয়ে বিশৃঙ্খলা করে যা গুরুত্বপূর্ণ বিষয়টিকে ফোকাস করে।
আপডেট 2 (ফেব্রুয়ারী 26 '13)
5 মাস পরে, আমরা এখনও লম্বোক ব্যবহার করছি, তবে আমার আরও কিছু বিরক্তি রয়েছে। আপনি যখন নতুন কোডের সাথে নিজেকে পরিচিত করার চেষ্টা করছেন তখন ঘোষিত গেটর এবং সেটটারের অভাব বিরক্তিকর হয়ে উঠতে পারে।
উদাহরণস্বরূপ, যদি আমি একটি পদ্ধতি দেখি getDynamicCols()
তবে এটি কী সম্পর্কে আমি জানি না তবে এই পদ্ধতির উদ্দেশ্য নির্ধারণ করতে আমার কিছু অতিরিক্ত বাধা আছে। কিছু বাধা লম্বোক, কিছু লম্বোক স্মার্ট প্লাগইনের অভাব। বাধা অন্তর্ভুক্ত:
- জাভাডক্সের অভাব। আমি যদি মাঠটি জ্যাভডোক করি তবে আমি আশা করব যে লম্বাক সংকলনের পদক্ষেপের মাধ্যমে প্রাপ্তি এবং সেটটার সেই জাভাদকের উত্তরাধিকারী হবে।
- পদ্ধতির সংজ্ঞাতে ঝাঁপ দাও আমাকে ক্লাসে ঝাঁপিয়ে পড়ে, তবে সেই সম্পত্তিটি নয় যা প্রাপ্তকারীকে উত্পন্ন করে। এটি একটি প্লাগইন ইস্যু।
- স্পষ্টতই আপনি পদ্ধতিটি তৈরি বা কোড না করে আপনি গেটর / সেটারে ব্রেকপয়েন্ট সেট করতে সক্ষম নন।
- দ্রষ্টব্য: এই রেফারেন্স অনুসন্ধানটি কোনও সমস্যা নয় কারণ আমি প্রথমে ভেবেছিলাম। আপনার এমন দৃষ্টিভঙ্গি ব্যবহার করা দরকার যা আউটলাইন ভিউ সক্ষম করে। বেশিরভাগ বিকাশকারীদের জন্য কোনও সমস্যা নয়। আমার সমস্যাটি ছিল আমি মাইলিন ব্যবহার করছি যা আমার
Outline
দৃষ্টিভঙ্গি ফিল্টার করছে , সুতরাং আমি পদ্ধতিগুলি দেখতে পেলাম না। উল্লেখ অনুসন্ধানের অভাব। কে যদি ডাকছে তা যদি আমি দেখতে চাই তবে আমাকে getDynamicCols(args...)
রেফারেন্সগুলি অনুসন্ধান করতে সক্ষম হতে সেটার তৈরি করতে বা কোড করতে হবে।
আপডেট 3 (মার্চ 7 '13)
আমি অনুমান করি যে গ্রহদে জিনিসগুলি করার বিভিন্ন পদ্ধতি ব্যবহার করা শিখছি। আপনি আসলে একটি লম্বোক জেনারেট পদ্ধতিতে একটি শর্তাধীন ব্রেকপয়েন্ট (বিপি) সেট করতে পারেন। Outline
দৃশ্যটি ব্যবহার করে , আপনি পদ্ধতিটিতে ডান-ক্লিক করতে পারেন Toggle Method Breakpoint
। তারপরে আপনি যখন বি.পি.কে আঘাত করেন, আপনি Variables
উত্পন্ন পদ্ধতিটি প্যারামিটারগুলি কী বলে নামকরণ (সাধারণত ক্ষেত্রের নাম হিসাবে একই) এবং শেষ পর্যন্ত, Breakpoints
ভিপিটিকে ডান ক্লিক করুন এবং Breakpoint Properties...
একটি শর্ত যুক্ত করতে নির্বাচন করতে ডিবাগিং ভিউটি ব্যবহার করতে পারেন । খুশী হলাম।
আপডেট 4 (আগস্ট 16 '13)
আপনি আপনার মাভেন পোমে আপনার লম্বোকের নির্ভরতা আপডেট করার সময় নেটবিনগুলি এটি পছন্দ করে না। প্রকল্পটি এখনও সংকলন করে তবে ফাইলগুলি সংকলনের ত্রুটি থাকার জন্য পতাকাঙ্কিত হয় কারণ এটি লম্বোক যে পদ্ধতিগুলি তৈরি করছে তা দেখতে পাচ্ছে না। নেটবিন্স ক্যাশে সাফ করা বিষয়টি সমাধান করে। গ্রহণের মতো "ক্লিন প্রকল্প" বিকল্প আছে কিনা তা নিশ্চিত নন। গৌণ সমস্যা, তবে এটি জানাতে চেয়েছিল।
আপডেট 5 (জানুয়ারী 17 '14)
লম্বোক সবসময় গ্রোভির সাথে বা কমপক্ষে খেলেন না groovy-eclipse-compiler
। আপনার সংকলকটির সংস্করণটি ডাউনগ্রেড করতে হতে পারে।
মাভেন গ্রোভী এবং জাভা + লম্বোক
আপডেট 6 (জুন 26 '14)
একটি সতর্কতার শব্দ। লম্বোক সামান্য আসক্তিযুক্ত এবং যদি আপনি এমন কোনও প্রকল্পে কাজ করেন যেখানে আপনি কোনও কারণে এটি ব্যবহার করতে পারবেন না, তবে এটি আপনার থেকে প্রসেসকে বিরক্ত করবে। আপনি এটিকে কখনই ব্যবহার না করা ভাল।
আপডেট 7 (জুলাই 23 '14)
কারণ এটি সরাসরি ঠিকানাগুলি এটি একটি মজার আপডেট একটি বিট নিরাপত্তা Lombok অবলম্বন যে ওপি সম্পর্কে জিজ্ঞাসা।
V1.14 হিসাবে, টীকাকে @Delegate
পরীক্ষামূলক স্থিতিতে নামানো হয়েছে। বিশদগুলি তাদের সাইটে নথিভুক্ত করা হয়েছে ( লম্বোক ডেলিগেট ডক্স )।
জিনিসটি হ'ল, আপনি যদি এই বৈশিষ্ট্যটি ব্যবহার করছিলেন তবে আপনার ব্যাকআউট বিকল্পগুলি সীমিত। আমি বিকল্পগুলি দেখতে পাচ্ছি:
- ম্যানুয়ালি
@Delegate
টীকাগুলি সরান এবং প্রতিনিধি কোডটি হ্যান্ডকোড উত্পন্ন / হ্যান্ডকোড করুন। আপনি যদি টীকাতে কিছু বৈশিষ্ট্য ব্যবহার করে থাকেন তবে এটি কিছুটা শক্ত।
- ডেলোমবোক যে ফাইলগুলিতে
@Delegate
টিকা আছে এবং সম্ভবত আপনি যে টীকাগুলি চান তা আবার যুক্ত করতে পারে।
- লম্বোককে কখনই আপডেট করবেন না বা কাঁটাচামড়া বজায় রাখবেন না (বা পরীক্ষামূলক বৈশিষ্ট্যগুলি ব্যবহার করে লাইভ করুন)।
- আপনার পুরো প্রকল্পটি ডেলম্বোক করুন এবং লোমবোক ব্যবহার বন্ধ করুন।
আমি যতদূর বলতে পারি, ডেলম্বকের কাছে টীকাগুলির একটি উপসেট সরানোর কোনও বিকল্প নেই ; এটি একটি বা কোনও ফাইলের প্রসঙ্গে কমপক্ষে কিছু না। আমি ডেলম্বোক পতাকা সহ এই বৈশিষ্ট্যটির অনুরোধ করার জন্য একটি টিকিট খুলেছি, তবে অদূর ভবিষ্যতে আমি এটির আশা করব না।
আপডেট 8 (20 অক্টোবর '14)
যদি এটি আপনার পক্ষে বিকল্প হয় তবে গ্রোভি লম্বোকের একই সুবিধাগুলির বেশিরভাগ অংশীদার হন , পাশাপাশি @ ডেলিগেট সহ অন্যান্য বৈশিষ্ট্যগুলির একটি নৌকা বোঝাই সরবরাহ করে । আপনি যদি ভাবেন যে আপনার কাছে যে শক্তিগুলি রয়েছে সেগুলির কাছে ধারণাটি বিক্রি করতে খুব কঠিন সময় আসবে, তবে এটি আপনার কারণকে সহায়তা করতে পারে কিনা তা দেখুন @CompileStatic
বা @TypeChecked
টীকাটি দেখুন। আসলে, গ্রোভি ২.০ প্রকাশের প্রাথমিক ফোকাসটি ছিল স্থিতিশীল সুরক্ষা ।
আপডেট 9 (সেপ্টেম্বর 1 '15)
লম্বোক এখনও সক্রিয়ভাবে রক্ষণাবেক্ষণ এবং উন্নত করা হচ্ছে , যা গ্রহণের সুরক্ষা স্তরে খুব ভাল odes @Builder টীকা আমার প্রিয় নতুন বৈশিষ্ট্য অন্যতম।
আপডেট 10 (নভেম্বর 17 '15)
এটি সম্ভবত ওপি-র প্রশ্নের সাথে সম্পর্কিত না বলে মনে হচ্ছে, তবে ভাগ করে নেওয়া উপযুক্ত। আপনি যদি লিখে থাকেন এমন বয়লারপ্লেট কোডের পরিমাণ হ্রাস করতে সহায়তার জন্য যদি আপনি সরঞ্জামগুলির সন্ধান করেন তবে আপনি গুগল অটো - বিশেষ অটোভ্যালুতেও দেখতে পারেন । যদি আপনি তাদের স্লাইড ডেকটি দেখেন তবে লোম্বোককে তারা যে সমস্যার সমাধান করার চেষ্টা করছেন তার সম্ভাব্য সমাধান হিসাবে তালিকাবদ্ধ করুন। লম্বোকের জন্য তারা যে কনসগুলির তালিকা করে তা হ'ল:
- সন্নিবেশিত কোডটি অদৃশ্য (এটি যে পদ্ধতিগুলি তৈরি করে সেগুলি আপনি "দেখতে" পারবেন না) [সম্পাদনা দ্রষ্টব্য - আসলে আপনি এটি করতে পারেন তবে এটির জন্য কেবল একটি ডিসকম্পেলার প্রয়োজন]
- সংকলক হ্যাকগুলি মানহীন এবং ভঙ্গুর
- "আমাদের দৃষ্টিতে, আপনার কোডটি আর সত্যিই জাভা নয়"
আমি তাদের মূল্যায়নের সাথে কতটা সম্মত তা নিশ্চিত নই। এবং স্লাইডগুলিতে নথিভুক্ত অটওয়ালুয়ের বিভক্তি দেওয়া, আমি লম্বোকের সাথে আঁকড়ে থাকব (যদি গ্রোভির বিকল্প না হয়)।
আপডেট 11 (ফেব্রুয়ারী 8 '16)
আমি খুঁজে পেলাম স্প্রিং রুতে কিছু অনুরূপ মন্তব্য রয়েছে । আমি এখনও অবাক হয়ে কিছুটা জানতে পেরেছিলাম যে রূ এখনও একটি জিনিস এবং টীকাগুলির জন্য ডকুমেন্টেশন সন্ধান করা কিছুটা রুক্ষ। অপসারণ ডি-লম্বকের মতো সহজ দেখায় না। Lombok নিরাপদ পছন্দ মত মনে হচ্ছে।
আপডেট 12 (ফেব্রুয়ারী 17 '16)
আমি বর্তমানে যে প্রকল্পে কাজ করছি তার জন্য লম্বোক কেন আনাই নিরাপদ তা নিয়ে ন্যায্যতা নিয়ে আসার চেষ্টা করার সময়, আমি একটি সোনার টুকরো পেয়েছি যা এতে যুক্ত হয়েছিল v1.14
- কনফিগারেশন সিস্টেম ! এর অর্থ হল যে আপনি আপনার টিমটি অনিরাপদ বা অনাকাঙ্ক্ষিত বলে মনে করেন এমন কিছু বৈশিষ্ট্যগুলি অ-মঞ্জুর করার জন্য একটি প্রকল্পটি কনফিগার করতে পারেন। আরও ভাল, এটি বিভিন্ন সেটিংস সহ ডিরেক্টরি নির্দিষ্ট কনফিগারেশনও তৈরি করতে পারে। এটা সত্যিই দারুন.
আপডেট 13 (4 অক্টোবর '16)
যদি এই ধরণের জিনিস আপনার কাছে আসে তবে অলিভার গিয়ের মনে করেছিলেন যে লম্বককে স্প্রিং ডেটা রেস্টে যুক্ত করা নিরাপদ ।
14 আপডেট (26 সেপ্টেম্বর '17) ওপিএস প্রশ্নের মন্তব্যে @ গাভেনকোয়ার
দ্বারা নির্দেশিত হিসাবে , জেডিকে 9 সংকলক সমর্থন এখনও উপলভ্য নয় (ইস্যু # 985)। এটিও মনে হচ্ছে এটি লম্বোক দলের পক্ষে আশেপাশের পক্ষে সহজ সমাধান হয়ে উঠবে না।
আপডেট 15 (মার্চ 26 '18)
লম্বোক চেঞ্জলগটি v1.16.20 অনুসারে ইঙ্গিত করে " JDK1.9 এ লোম্বোক সংকলন এখন সম্ভব " যদিও # 985 এখনও খোলা আছে।
জেডিকে 9 সংযুক্ত করার পরিবর্তনগুলি অবশ্য কিছু ব্রেকিং পরিবর্তন প্রয়োজন; সমস্ত কনফিগার ডিফল্ট পরিবর্তন বিচ্ছিন্ন। তারা সামান্য পরিবর্তন এনেছে, তবে সংস্করণটি "বর্ধনশীল" সংস্করণ নম্বরটিকে (v1.16.18 থেকে v1.16.20 এ যাচ্ছে) কেবলই ঠাঁই করেছে। যেহেতু এই পোস্টটি সুরক্ষার বিষয়ে ছিল, আপনার যদি এমন একটি yarn/npm
বিল্ড সিস্টেম থাকে যা স্বয়ংক্রিয়ভাবে সর্বশেষতম ইনক্রিমেন্টাল সংস্করণে আপগ্রেড হয়ে থাকে তবে আপনি অভদ্র জাগরণের পক্ষে থাকতে পারেন।
আপডেটের 16 (জানুয়ারী 9 '19)
দেখে মনে হচ্ছে জেডিকে 9 সমস্যাগুলি সমাধান হয়ে গেছে এবং লম্বোক জেডিকে 10 এবং এমনকি জেডিকে 11 এর সাথে কাজ করে যা আমি বলতে পারি।
সুরক্ষার দিক থেকে যে বিষয়টি আমি লক্ষ্য করেছি তা হ'ল এই যে পরিবর্তনের লগটি v1.18.2 থেকে v1.18.4 এ যাওয়ার জন্য দুটি আইটেমকে তালিকাবদ্ধ করে BREAKING CHANGE
!? আমি নিশ্চিত নই সেমভার "প্যাচ" আপডেটে কীভাবে ব্রেকিং পরিবর্তন ঘটে। আপনি যদি এমন কোনও সরঞ্জাম ব্যবহার করেন যা প্যাচ সংস্করণগুলিকে স্বয়ংক্রিয়ভাবে আপডেট করে।
javac
অভ্যন্তরীণ খোলা অ্যাক্সেস করার জন্যsun.*
ক্লাস ((