একটি দল বাড়ার সাথে সাথে কীভাবে অ্যাপ্লিকেশন আর্কিটেকচার জুড়ে ধারাবাহিকতা বজায় রাখা যায়?


46

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

4 বছর দ্রুত অগ্রসর হওয়া এবং পরে অধিগ্রহণ, আমার 5 টি দল রয়েছে এবং অনেক সময় বন্য পশ্চিমের মতো মনে হয়। লোকেরা যেকোন ডিজাইনের সিদ্ধান্ত গ্রহণে তাদের সন্তুষ্ট করে: এক জায়গায় ডিবি প্রকারের জন্য পূর্ণসংখ্যা এবং এনামগুলি এবং অন্য জায়গায় স্ট্রিং, সমস্যার জন্য এই কাঠামো এবং অন্যত্র একই সমস্যার জন্য আলাদা কাঠামো ইত্যাদি etc.

ধারাবাহিকতা প্রয়োগে আমি কীভাবে যেতে পারি? এটি আমার কাছে গুরুত্বপূর্ণ মনে হয় তবে আমার দলের সদস্যরা "যদি এটি কাজ করে তবে এটি কার্যকর হয়" পদ্ধতিতে সাবস্ক্রাইব করে বলে মনে হচ্ছে।

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


8
আপনি কি আপনার বিদ্যমান এসডিএলসি প্রক্রিয়া সম্পর্কে আমাদের যতটা পারেন বলতে পারেন? আপনি জলপ্রপাত, চটপটে, ইত্যাদি? আপনি কি টিএফএস বা টাস্ক ম্যানেজমেন্ট ব্যবহার করেন? আপনি কি কোড পর্যালোচনা সম্পাদন করেন বা FxCop বা কোড বৈধতার অন্যান্য ফর্ম ব্যবহার করেন? আপনি ডিজাইন ডকুমেন্টেশন উত্পাদন করেন? আপনার কি কোনও মনোনীত স্থপতি ভূমিকা আছে?
জন উ


1
@ গ্যাनेट: উত্তরগুলি যদি কোনও ইঙ্গিত দেয় তবে দুর্দান্ত নকল নয়।
রবার্ট হার্ভে

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

1
এটি সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের পবিত্র গ্রেইল (অন্য পবিত্র গ্রেইল বাদে, যা সঠিক প্রয়োজন বোধনের জন্য)।
pmf

উত্তর:


52

আপনি কি তাই বিশেষ করে তোলে?

আমার সিপিইউ বলছে এটি কাজ করে এবং আমি বাড়ি যেতে চাই। আমাকে কেন বিরক্ত করছেন?

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

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

এটি করার সর্বোত্তম উপায় হ'ল তাড়াতাড়ি যোগাযোগ করা। আমি ধারণাটি স্থির করার 6 মাস পরে "আমরা এই দোকানে আমাদের ডিবি ধরণের জন্য স্ট্রিং ব্যবহার করি না" আমাকে বলবেন না। 2 বছর ধরে এটি ডকুমেন্টেশনে দাফন করা আমাকে বলার পক্ষে এটি করার কোনও যৌক্তিকতা নয়।

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

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

কেন? আমি কোড লেখার পরে পাস হওয়া প্রতিটি সেকেন্ডে তা পরিবর্তন করার জন্য ব্যয় বাড়িয়ে দেয়। কারণ কোডটির আমার স্মৃতিতে অর্ধেক জীবন রয়েছে। আমার মূত্রাশয় বিরতির দাবী করার মুহুর্তটি আমি এটি ভুলে যাওয়া শুরু করি।

তাদের যত্নের বিষয়গুলি তাদের অন্তর্নিহিত নীতিগুলিতে হ্রাস করুন। অনুসরণ করার জন্য 101 টি নিয়মের একটি তালিকা দিয়ে আমাকে আঘাত করার পরিবর্তে, আমাকে যে 10 নীতিগুলি লঙ্ঘন করেছে তা আমাকে দিন যাতে আমি নিজেরাই 102 এর নিয়মটি কী তা নির্ধারণ করতে পারি।

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

এ জাতীয় মান আশা করা কি আমার অবাস্তব? আমি এমন এক স্বৈরশাসক হয়ে উঠার ধারণার সাথে সংগ্রাম করি যা সৃজনশীলতাকে দমন করে তবে তারা যা চায় তা করণীয়যোগ্য বলে মনে হয় না।

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

আমি জানি আপনি কোথায় থেকে এসেছেন কারণ আমি সেখানে এসেছি। আপনার নিয়ন্ত্রণ ছিল এবং এখন তা চলে গেছে। আপনি এটি ফিরে চান। ভাল এটি উপর পেতে। এখন আপনার একটি দল আছে। তাদের নিয়ন্ত্রণ করার দরকার নেই। তাদের যা প্রয়োজন তা হ'ল নেতৃত্ব। আপনার যা প্রয়োজন তা নিয়ন্ত্রণ নয়। এটা প্রভাব। এটি আরও ভাল কাজ করে এবং অনেক কম কাজ। মাস্টার যে এবং শিথিল। এই মজা করা উচিত।

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

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


4
"কোড স্ট্যালকিং" বলতে আপনি কী বোঝাতে চেয়েছেন তা খুব স্পষ্টভাবে প্রমাণিত হয়েছে ... তবে গুগল আমাকে সারা বিশ্বের অপরাধ আইন ছাড়া আর কিছুই দেয় না।
জেরেমি

3
তালিকায় "কোডিং মান" যুক্ত করুন

5
যেহেতু আমি এই শব্দটি চালু করছি বলে মনে হচ্ছে আমি 'কোড স্ট্যালকিং' এর ব্যুৎপত্তিটি দেব। আমি এমন কিছু কোড পরীক্ষা করে দেখেছি যা এটির টাইমস্ট্যাম্পগুলি পেতে একটি বিমূর্ত কারখানা ব্যবহার করে। একজন পিয়ার বিকাশকারী মার্জ করার চেষ্টা করছে (কোড চেক ইন) এবং তার চেক আউট হওয়ার পরে কোড পরিবর্তনগুলির মাধ্যমে স্ক্রোল করছে। তিনি আমার কারখানাটি লক্ষ্য করেছেন এবং ভেবেছিলেন এটি কৌতূহলযুক্ত। আমি নিশ্চিত কেন এটি করছিলাম তা সে নিশ্চিত ছিল না। তাই তিনি ওপরে গিয়ে আমাকে জিজ্ঞাসা করলেন। আমি যখন বিভ্রান্ত হয়ে দেখি তখন তিনি বলেছিলেন, "ওহ, আমি আপনাকে কোড মারছিলাম"। ফেসবুক আমাদের শব্দভান্ডার পরিবর্তন করছে।
candied_orange

1
সত্য! " আমাকে আপনার দেখতে আমাকে সাহায্য করে নিজের দৃষ্টি আরোপের জন্য আমাকে শক্তিশালী করুন এবং আমরা দুর্দান্তভাবে এগিয়ে যাব " আমি যখন কবিতা, কোড এবং দর্শন মিশ্রিত করি তখন আমি ভালবাসি!
পেড্রো লোবিটো

@ প্রচারিত_আরেঞ্জ: আমি পুরো "কোড স্ট্যালকিং" জিনিসটি দেখে কিছুটা বিস্মিত। তুমি কি কেবল তাকে ঘুষি মারছ? আপনার উত্তরের প্রসঙ্গে, দেখে মনে হচ্ছে সে আপনাকে কোডিং করবে code
রবার্ট হার্ভে

23

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

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

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

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


এই পদ্ধতিটি সম্পর্কে দুর্দান্ত বিষয়টি হ'ল পরিচালকটি কেবল তার পছন্দগুলি চাপিয়ে দিচ্ছেন না, তিনি দলটিকে সিদ্ধান্ত নেওয়ার সুযোগ দিচ্ছেন, এবং এটি প্রয়োগের জন্য তাদের ক্ষমতা প্রদান করছেন।
রবিন বেনেট

6

কোডটি পর্যালোচনা করার সময় যখনই কেউ মুখ্য শাখা / ট্রাঙ্কে কোডটি মার্জ করতে এবং লোকেদের সেই মানগুলিতে ধরে রাখতে চান কোড পর্যালোচনাগুলি সম্পাদন করুন।

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

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


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

3
@ ম্যাথেজ, আমি সাধারণত আপনার সাথে একমত হয়ে গেলেও আমি এটি বিপরীত ক্রমে করব would নকশা পর্যালোচনাগুলি প্রথমে ডিজাইন পর্যালোচনাগুলি এবং নকশা পর্যালোচনাগুলি / সময়কালে গাইডলাইনগুলি প্রকাশিত হয়। আপনি যদি লেখার বোঝাটি আর্কিটেক্ট / সীসার উপরে সরাসরি রেখে দেন তবে বোঝাটি মধ্যস্থতাকারীর দিকে স্থানান্তরিত হয়
নিক আলেক্সেভ

@ ডিকার: আপনার লড়াই বাছাই করতে হবে। আপনার পায়ে কী নামাতে হবে তা চিত্রিত করুন এবং এটি নথি করুন। আপনাকে সব কিছুর
রবার্ট হার্ভে

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

1
@ নিক আলেকজীব, আমি সম্মত; সম্পাদনা করবে।
ম্যাথু

1

যেখানে সম্ভব, আপনি নিজের প্রকল্পগুলি স্বয়ংক্রিয়ভাবে বিশ্লেষণ করতে এবং কোন মানক, সরঞ্জাম এবং প্রকল্পটি প্রকল্পটি ব্যবহার করছে তা নির্ধারণ করতে আপনি সরঞ্জাম / স্ক্রিপ্ট লিখতে পারেন। আপনি সিআই বিল্ডের অংশ হিসাবে একটি কাস্টম সরঞ্জাম চালিয়ে এটি করতে পারেন।

'স্কোরকার্ড' নথিতে লেখা সরঞ্জামগুলি থেকে আউটপুট রাখুন, যেমন বিভিন্ন ইউনিট / মান অনুসরণ করা কলাম সহ ইউনিট প্রতি সারি সহ (যেমন 'অ্যাপ্লিকেশন' বা প্রকল্প বা এপিআই বা যাই হোক না কেন) সহ একটি গুগল শীট। এটি লোকে কী কী মানদণ্ড রয়েছে, সেগুলি কতটা গ্রহণযোগ্য তা ইত্যাদি সম্পর্কে দৃশ্যমানতা দেবে এবং বিশৃঙ্খলার জন্য কিছু অর্ডার সরবরাহ করবে।

আপনি ম্যানুয়ালি কলামগুলিও আপডেট করতে পারেন, তবে তাদের ভাগ্য আপডেট রাখুন: ডি

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