একটি দলের মধ্যে বিরোধী জাভা স্টাইল


12

আমি 6 সপ্তাহের সময়সীমা সহ একটি জাভা উন্নয়ন দলের অংশ। এটি খুব দ্রুত কোডের একটি ভাল চুক্তি লেখার প্রয়োজন। তবে আমাদের উন্নয়ন দলে কোডিংয়ের বিভিন্ন স্টাইল রয়েছে has নাম কনভেনশন থেকে বিমূর্তকরণের পদ্ধতি পর্যন্ত সমস্ত কিছুই আমাদের দলের মধ্যে আলাদা। জাভা জন্য "মানদণ্ড" নির্ধারিত এমন কোন নথি সম্পর্কে কেউ কি জানেন?

স্পষ্ট করার জন্য, আমি ভাবছিলাম যে এমন কোনও সংস্থা আছে যা উদাহরণস্বরূপ ভেরিয়েবল এবং ফাংশনগুলির জন্য যথাযথ নামকরণ কনভেনশন নির্দেশ করবে। এটি একে অপরের কোড বোঝার চেষ্টা করার জন্য সময় ব্যয় করতে পারছি না এমন সংক্ষিপ্ত সময়সীমার মতোই এটিই সর্বোচ্চ।

উত্তর:


18

এরকম একটি সংস্থা রয়েছে: সান / ওরাকল নিজেই। ডকুমেন্টটিকে জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের কোড কনভেনশন বলা হয় এবং এটি আপনার প্রয়োজনীয় বেশিরভাগ সম্মেলনের বর্ণনা দেয় describes সকলেই এটি পড়তে এবং এর প্রস্তাবনাগুলি অনুসরণ করতে সম্মত হন।


3
এটি একটি সুপরিচিত স্ট্যান্ড, তবে দলটি যেখানে রাজি সেখানে এটি থেকে সরে যেতে ভয় পাবেন না। প্রস্থে 80 টি অক্ষরের মধ্যে সীমাবদ্ধ হওয়া উদাহরণস্বরূপ বেদনাদায়ক হতে পারে।
মার্টিজ ভার্বার্গ

1
@ মার্তিজনভর্বার্গ এই সীমাটি গভীর প্রবণতা এড়াতে পদ্ধতি এবং ক্লাসে রিফ্যাক্টরিং প্রম্পট করতে পারে।

এটি একটি সম্মেলন, এবং এটি একটি যুক্তিসঙ্গত ফলব্যাক হতে পারে, যদি আপনি নিজের চুক্তিটি না খুঁজে পান তবে নাম অনুসারে এটি আদেশ দেয় না - এটি একটি সম্মেলন।
ব্যবহারকারী অজানা

আপনি ঠিক বলেছেন এমনকি আমি সমস্ত সম্মেলনের সাথে একমতও হই না। তবে ওপি-র সময়সীমার কারণে এটি একটি ভাল সমঝোতা।
অ্যান্ড্রেস এফ

8

আমি সত্যিই আন্দ্রেসের উত্তরে ট্যাগ করছি , এবং জাভা কোডটি ফর্ম্যাট করার দিকটিতে ফোকাস করছি।

আপনি যদি Eclipse ব্যবহার করে থাকেন তবে আপনি জাভা স্ট্যান্ডার্ডটিতে স্বয়ংক্রিয়ভাবে ফর্ম্যাট করতে এর জাভা ফর্ম্যাটরটি সেট করতে পারেন। এক্সিলিপ ফর্ম্যাটারেও অন্যান্য সহায়ক সেটিংস রয়েছে যেমন লাইন প্রতি অক্ষর (যেমন নতুন লাইনে যাওয়ার আগে লাইন প্রতি কয়টি অক্ষর) এবং আরও অনেকগুলি। প্রতি লাইনে অক্ষরগুলিকে মানীকৃত করা কেবল ব্যবধান এবং লাইন বিরতি থেকে প্রচুর পার্থক্য ছাড়াই বিভিন্ন বিকাশকারীদের দ্বারা লিখিত কোডের পার্থক্যকে সহজ করে তোলে ।

অবশেষে, আপনার পছন্দসই সমস্ত সেটিংস সেট করার পরে, Eclipse দিয়ে, তারপরে আপনার ফর্ম্যাটরটি ফাইল হিসাবে রফতানি করুন যা দলের প্রতিটি সদস্য দ্বারা আমদানি করা যেতে পারে। সুতরাং আপনি যদি Eclipse ব্যবহার করছেন তবে আমি আপনার পক্ষে স্বতঃ-বিন্যাস এবং কোড সম্পাদনা করে এবং তারপরে পুরো টিমের সাথে সেটিংস ভাগ করে নেওয়ার সমস্ত বিকল্পগুলি পুরোপুরি অন্বেষণ করার পরামর্শ দিচ্ছি।

আমি ধরে নিব অন্যান্য বড় জাভা আইডিইগুলির (ইন্টেলিজ এবং নেটবিয়ান) ফর্ম্যাট সেটিংস রফতানির জন্য একই বৈশিষ্ট্য রয়েছে।


2
+1 ভাল উত্তর! আপনি চেকস্টাইলের মতো একটি প্লাগইন ইনস্টল করতে পারেন এবং আপনি যখন কনভেনশনগুলি ভঙ্গ করেন তখন আপনাকে সতর্ক করতে হবে।
অ্যান্ড্রেস এফ

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

হ্যাঁ, আমি সম্প্রতি এটিও শুরু করেছি। কেবলমাত্র আমিই সম্পর্কে নিশ্চিত নই, আমি সংরক্ষণ বিকল্পে "অব্যবহৃত ব্যক্তিগত ভেরিয়েবলগুলি সরান" নির্বাচন করেছি selected সুতরাং আমি টিডিডি করার সময় আমি দেখতে পাই যে প্রায়শই আমার পরিবর্তনশীলগুলি অদৃশ্য হয়ে যায় কারণ আমি তাদের ব্যবহারের আগে কোড সংরক্ষণ করা হয়েছিল ... তবে অন্যটি ছাড়াও, এই বিকল্পটি দুর্দান্ত ছিল।
স্যাম গোল্ডবার্গ

6

এই [কোডিংয়ের বিভিন্ন ধরণের শৈলী] একেবারে সংক্ষিপ্ত সময়সীমার মতোই একে অপরের কোড বোঝার চেষ্টা করতে ব্যয় করতে পারছি না।

বাস্তবিক। এটি সর্বজনীন নয়।

পরামর্শক হিসেবে 30 বছর পর, আমি একটি পড়েছি অনেক অনেক গ্রাহকের থেকে কোড করুন। এটি লক্ষণীয় যে প্রতিটি গ্রাহক (এবং প্রায়শই গ্রাহকের সংস্থার অভ্যন্তরে) বিভিন্ন স্টাইল থাকে।

অনেক স্টাইল পড়ার পরে, আমি এটি শিখেছি।

স্টাইল মেলে না

সর্বদা কাজ করে এমন কোড লেখার এবং ইউনিট পরীক্ষাগুলি লেখার বিষয়ে ফোকাস করুন যা প্রমাণ করে যে এটি সর্বদা কার্যকর হয়।

আপনি ওয়ার্কিং কোডটি প্রেরণ করার পরে, যদি আপনি ঠিক করার জন্য বাগগুলি এবং ইনস্টল করার জন্য উন্নতিগুলি শেষ করে ফেলেছেন তবে আপনি এটি সাজতে পারেন।


সম্ভবত এটি কোনও ব্যাপার নয়, তবে এটি পেয়ে খুব সুন্দর এবং করা খুব সহজ।
কেভিন

1
স্টাইল কোনও বিষয় নয়, তবে ধারাবাহিকতার বিষয়টি গুরুত্বপূর্ণ। বেমানান শৈলী সফ্টওয়্যারটির রক্ষণাবেক্ষণকে আরও শক্ত করে তোলে।
জেস্পার

5
@ জেস্পার: "বেমানান শৈলী সফ্টওয়্যারটির রক্ষণাবেক্ষণকে" ক্ষুদ্রতর "শক্ত" করে তোলে । এটি কোনও প্রসারিত করে খুব বেশি শক্ত নয়। অস্পষ্ট, খারাপ, বগী কোড বজায় রাখা বেশ শক্ত। ওয়ার্কিং কোডে বেমানান শৈলীগুলি কেবলমাত্র বেমানান শৈলী। কিছু লোকের উচ্চারণ রয়েছে এবং আপনাকে আরও মনোযোগ সহকারে শুনতে হবে। অসঙ্গতিপূর্ণ শৈলীগুলি ভিন্ন আঞ্চলিক (বা জাতীয়) উচ্চারণের চেয়ে কিছুটা বেশি।
এস .লট

1
স্টাইল একটি বিশ্বব্যাপী অর্থে কোন ব্যাপার না, কিন্তু একটি একক দলের মধ্যে সামঞ্জস্যপূর্ণ শৈলী আছে ব্যাপার। এটি কোনও প্রকল্প তৈরি বা ভাঙবে না, তবে যদি এটি যেমন না ঠিক ততটা সামঞ্জস্যপূর্ণ হয় তবে কেন এগিয়ে যান এবং ধারাবাহিক হন না? আপনার কোডটি অন্তত প্রান্তিকভাবে ভাল হবে।
ব্রায়ান ওকলে

1
"আপনার কোডটি" সেরা "প্রান্তিকভাবে ভাল" হবে। এবং হ্যাঁ, এটি প্রায় শূন্য খরচ এবং অবশ্যই শূন্য ঝুঁকি। কিন্তু। 100% পরীক্ষার কভারেজটি অনেক বেশি মূল্যবান যা ধারাবাহিকতা।
এস.লট

2

কিছু নিখুঁত সার্বজনীন মান বাছাই সম্পর্কে চিন্তা করবেন না। আপনার দলের যা প্রয়োজন তা হ'ল একটি স্ট্যান্ডার্ডের সাথে সম্মত হওয়া এবং তার সাথে লেগে থাকা। আপনি চান নিজের তৈরি করুন, তবে সামঞ্জস্যপূর্ণ।

ধারাবাহিকতা সহযোগিতা উন্নতি করে, সহযোগিতা কোড উন্নত করে।

এমনকি যদি সত্যিকারের ধারাবাহিকতা সাহায্য না করে তবে আপনার দলটি চুক্তিতে আসার জন্য একসাথে কাজ করেছে এটি একটি ভাল জিনিস। কোডিং কনভেনশনগুলির মতো সহজ কিছুতে তাদের সম্মতি জানাতে অক্ষমতা বলে যে পৃষ্ঠের নীচে লুকিয়ে থাকা আরও বড় টিমওয়ার্ক সমস্যা হতে পারে।


0

উপরে বর্ণিত সান জাভা সিসি কেবল ১৩ বছরের পুরানো নয় এবং এর কিছু বিধি পুরানো (যেমন প্রতি লাইনে ৮০ টি অক্ষর), তবে এটি নামকরণের সম্মেলনগুলিও সংজ্ঞায়িত করে না, ব্যতীত সাধারণগুলি (ক্লাসের জন্য উটের আবরণ, ব্লক রাজধানী) স্ট্যাটিক ফাইনাল ভেরিয়েবল এবং এর মতো))

ডিএও, ইজেবি, সত্তা যেমন আপনি ব্যবহার করেন না কেন এমন ধরণের ক্লাসের জন্য আপনাকে নিজের মান নির্ধারণ করতে হবে। সান জাভা সিসি বিস্তারের জন্য বোঝানো একটি বিমূর্ত বেস শ্রেণীর মতো :)


আমি সম্মত হই যে সানের জাভা সিসি কিছুটা পুরানো, তবে এটি কেবল একটি সূচনা পয়েন্ট হিসাবে বোঝানো হয়েছে। আমি ধরে নিই যে ওপির নিজস্ব সিসি সংজ্ঞায়িত করতে নষ্ট করার জন্য খুব বেশি সময় নেই, বা তিনি তা বলতেন! (বিটিডব্লিউ, যেখানে আমি বর্তমানে কাজ করি তারা 80 টি অক্ষরের সীমা প্রয়োগের জন্য কনফিগার করা সোনার প্লাগইন ব্যবহার করে - সুতরাং এই নিয়মটি এখনও বেঁচে আছে এবং কয়েকটি দোকানে লাথি মারছে)।
অ্যান্ড্রেস এফ

অন্যান্য কারণ ছাড়াও পঠনযোগ্যতা একটি উপাদান is একটি লাইন জুড়ে দীর্ঘ দূরত্ব স্ক্যান করা স্ক্যান ডাউন ডাউন চেয়ে অনেক কম দক্ষ। ভাল ফর্ম্যাট কোড সহ আপনি অপ্রাসঙ্গিক কোডের সাথে দ্রুত স্ক্যান করতে পারেন।
বিলথোর

আপনি যদি প্রতি লাইনে ৮০ টি অক্ষর নিয়ে সমস্যায় পড়ে থাকেন তবে হয় আপনি আশ্চর্যরকম দীর্ঘ শনাক্তকারী পেয়েছেন বা আপনি একক লাইনে অপঠনযোগ্যভাবে অনেক বেশি রেখে চলেছেন। পূর্বেরটি নির্বোধ (আপনি কি তার থেকে আরও নীচে টুকরো টুকরো টুকরো টানতে পারবেন না?) এবং পরবর্তীটি রিফ্যাক্টরিংয়ের জন্য জরুরি প্রয়োজনের ইঙ্গিত দেয় । সংরক্ষণের পরে স্বতঃরূপকরণ দুর্দান্ত কারণ তখন আপনাকে আর বিন্যাসের বিষয়ে চিন্তা করতে হবে না; সফ্টওয়্যারটি আপনার জন্য এটি পরিচালনা করে।
ডোনাল ফেলো

@ ডোনালফেলো হ্যাঁ, এই দিন এবং যুগে, 80 টি অক্ষরের সীমাটি আপনাকে রিফ্যাক্টরে স্মরণ করিয়ে দেবে, ছোট টার্মিনাল স্ক্রিনের কারণে নয়।
আন্দ্রেস এফ

0

যেমন অন্যদের দ্বারা এখানে উল্লেখ করা হয়েছে, আপনি জাভা জন্য জনপ্রিয় কয়েকটি 'স্টাইল গাইড' এর 1 এর জন্য অনলাইনে অনুসন্ধান করতে পারেন এবং দলের প্রত্যেককে তাদের সাথে লেগে থাকতে প্ররোচিত করতে পারেন। আপনার পছন্দসই আইডিইতে কিছু কোড চেক করার সরঞ্জামগুলি আপনি যখন এটি করছেন না তখন আপনাকে মনে করিয়ে দিতে সহায়তা করতে পারে।

তবে কখনও কখনও রাজনীতি জড়িত। আমি এর আগে একবার এমন পরিস্থিতিতে ছিলাম যেখানে দলের সিনিয়র বিকাশকারীরা কেউ তার মান নির্ধারণের প্রয়োজনীয়তার কথা উল্লেখ করার পরেও এটি তার পথে চালিয়ে যায়। এ জাতীয় পরিস্থিতিতে তার কোড শৈলীটি পর্যবেক্ষণ করা এবং তাকে অনুসরণ করা আরও ভাল কারণ যেহেতু সম্ভবত কোড বেজ এবং প্রয়োজনীয়তা সম্পর্কে তাঁর সর্বাধিক জ্ঞান রয়েছে এবং আপনি কঠিন হয়েও তার পায়ের আঙ্গুলের উপর পা রেখে সময় নষ্ট করতে চান না। আমাদের বাকিরা সেই নির্দিষ্ট পরিস্থিতিতে কী করেছিল এবং আমি অনিচ্ছায় অনুসরণ করি follows

সুতরাং আপনার পরিস্থিতিটিও বিবেচনা করা গুরুত্বপূর্ণ।


এটা কোন দেশ? একটি সাংস্কৃতিক জিনিস মত শোনাচ্ছে।

@ থরবজরন রাভানএন্ডারসেন তিনি বলতে চাইছেন যে "তারা এত দিন ধরে যা করে যাচ্ছিল" যখন লোকেরা পরিবর্তন করতে প্রতিরোধী হতে পারে। এই অর্থে রাজনৈতিক কেবল "অফিসের রাজনীতি"
রোবটনিক

0

চাচা বব তার "ক্লিন কোড" বইটিতে আরও আধুনিক এবং বর্তমান কোডিং শৈলীটি দেখান। দুর্ভাগ্যক্রমে এটিতে আইটেমের কোনও তালিকা নেই। এটি পড়তে হবে। তিনি নিজেই বলেছেন যে তাঁর সম্মেলনগুলি দেখতে আপনাকে তার কোডটি পড়তে হবে। চাচা বব নিঃসন্দেহে এক ধরণের প্রতিষ্ঠান। বইটি যাই হোক না কেন একটি দুর্দান্ত পঠন, তাই এখনই এটি পড়তে খুব দেরি হলেও, এটিকে ততক্ষণ সংরক্ষণ করুন।


0

কোডে আসলে কী গুরুত্বপূর্ণ তা হ'ল নিম্ন চক্রীয় জটিলতা, ছোট স্কোপ, উচ্চ সংহতি এবং অভিব্যক্তি শনাক্তকারীদের পছন্দ। সেগুলি দেওয়া, কোডটি সহজেই উপলব্ধি করা যায় এবং এই জাতীয় কোডটি ভাল।

আমি আপনাকে স্পার্টান প্রোগ্রামিংয়ের দিকে নজর দেওয়ার পরামর্শ দিচ্ছি ।

বেশিরভাগ কোডিং মানদণ্ডগুলি আপনাকে কীভাবে দুর্বল লিখিত কোডটি দেখতে সুন্দর দেখা যায় এবং "কোডিং স্টাইল" এ সর্বাধিক আলোচনা হয় তা ফর্ম্যাটিং সম্পর্কে। কোড বিন্যাসটি আপনার কোডের কাঠামোটি দৃশ্যত উপস্থাপনের বিষয়ে। এটি তুচ্ছ এবং অটোমেটেবল এবং কোডিং শৈলীর সাথে সবেমাত্র কিছু করতে পারা যায়, কারণ কোডিং স্টাইলটি আপনি কোড কাঠামোকে কীভাবে উপস্থাপন করেন তা নয়, আপনি কীভাবে কোড গঠন করেন সে সম্পর্কে।
নামকরণের কনভেনশন নিয়ে প্রচুর ধর্মীয় যুদ্ধ রয়েছে, যদিও এগুলি সত্যই খারাপ ডিজাইনের আশেপাশে কাজ করার জন্য একটি হ্যাক। একটি নাম ভাল, যদি এটির অর্থ কী তা বলে। আপনার স্কোপগুলি যত ছোট এবং পরিষ্কার হবে তত সহজে এই জাতীয় নাম চয়ন করা সহজ।

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