একটি প্রোগ্রামিং ভাষার ডকুমেন্টিং: রেফারেন্স ম্যানুয়াল


12

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

প্রোগ্রামিং ভাষার জন্য একটি রেফারেন্স ম্যানুয়াল লেখার সময়, ভাষার ক্ষেত্রে নতুনদের সর্বাধিক ব্যবহারের জন্য এটির গঠনের সর্বোত্তম উপায় কী?

কি করছে কী দিক প্রতিটি শব্দ জন্য নথিভুক্ত?

  • বাক্য গঠন
  • বিবরণ
  • যুক্তি - প্রযোজ্য হলে
  • রিটার্ন মান - প্রযোজ্য ক্ষেত্রে
  • ব্যবহারের উদাহরণ?
  • আমি নিখোঁজ অন্য কেউ?

ধারণাগুলি (যেমন লক করার কৌশল, কার্য সম্পাদন সম্পর্কিত বিশদ) এরও এই রেফারেন্স ম্যানুয়ালটিতে নথিভুক্ত করা উচিত, বা এটি একটি পৃথক নথি?


এটি বাহ্যিক ব্যবহারের জন্য। আমাদের কাছে ইতিমধ্যে পূর্ণ ডক সেট রয়েছে (দেখুন: http://www.rocketsoftware.com/u2/resources/technical-res উত্স )। আমাদের কী আলাদা করা উচিত তা নিয়ে কাজ করা - আমার ইতিমধ্যে আমার ধারণাগুলি রয়েছে তবে বরাবরের মতো আমি কেবল আমার মতামতকেই নির্ভর করার চেষ্টা করি না।

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


আপনার কেন ভাষাটি নথিভুক্ত করতে হবে? এটি কি কোনও গৌরবময় বা কাস্টম তৈরি ভাষা? এর কি ইতিমধ্যে ডকুমেন্টেশন নেই? এবং যদি তা না হয় তবে আপনি কেন এটি প্রথম স্থানে বেছে নিয়েছিলেন?
ইয়ান্নিস

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

2
@ ড্যানম্যাকগ্রাথ ওয়েল, হ্যাঁ, উপস্থিত নথিগুলির শ্রোতা এবং স্তর / ভলিউম জেনে আমি কীভাবে একটি রেফারেন্স ম্যানুয়াল লিখব তা প্রভাবিত করবে। এটি কি কেবল অভ্যন্তরীণ ব্যবহারের জন্যই হবে?
ইন্নিস

1
@ টেলাস্টিন - হ্যাঁ, এটি সর্বজনীন। আমাদের কাছে কেবল রেফারেন্স ম্যানুয়ালগুলির চেয়ে অনেক বেশি রয়েছে, তবে এই প্রশ্নটি বিশেষত সেই দিকটি নিয়ে ছিল: রকেটসফটওয়্যার.ইউ
ড্যান ম্যাকগ্রা

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

উত্তর:


16

লক্ষ্য দর্শকের প্রয়োজন অনুসারে ডকুমেন্টেশনগুলি সংগঠিত করুন।

আপনার ক্ষেত্রে প্রাথমিক শ্রোতা আপাতদৃষ্টিতে সফ্টওয়্যার বিকাশকারী। এখানে বিবেচনা করা অংশগুলি হ'ল এটির বিভিন্ন "উপ-শ্রোতাদের" সম্বোধন করা:

  1. ওহে বিশ্ব.
    যারা এটির স্বাদ দ্রুত পেতে আগ্রহী তারা কেবল নমুনা অ্যাপ্লিকেশনটি তৈরি করে এটি কীভাবে দেখায় তা চালান।
    মাইএসকিউএল "15 মিনিটের নিয়ম" দ্বারা সম্বোধিত মত দর্শকের মতো চিন্তা করুন :

    ... কোনও ব্যবহারকারী মাইএসকিউএল ডাউনলোড করতে শেষ হওয়ার 15 মিনিট পরে চালাতে সক্ষম হবে।

  2. প্রাথমিক ধারনা।
    কাজ করার সফ্টওয়্যার উত্পাদন শুরু করার জন্য প্রয়োজনীয় জিনিসগুলি শিখতে আগ্রহী ছেলেদের জন্য।
  3. উন্নত বিষয়।
    বিকাশকারীদের জন্য ইতিমধ্যে সুপরিচিত এবং মৌলিকগুলির সাথে অনুশীলন করেছেন, এর বাইরে কী আছে তা জানতে আগ্রহী। মেনস্ট্রিম গুরুত্বপূর্ণ বিষয়গুলির মধ্যে আবৃত করা হয়নি প্রাথমিক ধারনা
  4. স্টাইল গাইড / প্রস্তাবিত অনুশীলনসমূহ।
    আপনি কীভাবে জিনিসগুলি করার পরামর্শ দিচ্ছেন সেই বিষয়ে আগ্রহীদের জন্য বিষয়গত পরামর্শ এবং গাইডেন্স guidance
    এটি আপনার ক্ষেত্রে যথেষ্ট পরিমাণ শ্রোতা থাকতে পারে কিনা তা ইঙ্গিত দেয় না, সুতরাং বিবেচনার বিকল্পগুলি হ'ল এডভান্সড বিষয়গুলির অংশ / পরিশিষ্ট হিসাবে অন্তর্ভুক্ত করা বা এমনকি এটিকে পুরোপুরি বাদ দেওয়া।
  5. Quirks।
    মূলধারার বাইরে অস্পষ্ট বিষয়গুলি আপনার দর্শকদের বেশ সীমিত ভগ্নাংশের পক্ষে আগ্রহী হতে পারে। উদাহরণস্বরূপ, যদি আপনার উত্তরাধিকারের লাইন থাকে, বা উত্তরাধিকার / মাইগ্রেশন / উত্তরাধিকারের সাথে আন্তঃব্যবহারের মতো জিনিস থাকে তবে এটি এখানে রাখুন। নির্দিষ্ট "বহিরাগত" পরিবেশে কিছু ফাংশনের জন্য যদি কিছু পার্শ্ব প্রতিক্রিয়া থাকে তবে তা এই অংশে যায়।
আপনার গৌণ শ্রোতারা ম্যানুয়ালটির রক্ষণাবেক্ষণকারী। এই ছেলেরা কীভাবে আপনার প্রাথমিক শ্রোতার জন্য জিনিসগুলি কাজ করে তা ভাঙ্গতে পারে বা ভাঙতে পারে, যাতে আপনি তাদের প্রয়োজনীয়তা এবং সমস্যাগুলি আরও ভালভাবে যত্ন নিতে পারেন।

ম্যানুয়ালটিতে যদি কিছু সন্দেহজনক / দ্বিধাগ্রস্ত হয় তবে কী হবে? যদি এটি সক্রিয় হয় যে নির্দিষ্ট ধারণাটির পুরো ব্যাখ্যাটি সেই ম্যানুয়ালটিকে পড়া খুব কঠিন করে তুলবে? যদি ম্যানুয়ালটির সেই বিশেষ সংস্করণে ভুল হয় তবে কী হবে?

রক্ষণাবেক্ষণকারীদের জন্য দুটি বিষয় বিবেচনা করতে হবে:

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

    ত্রুটি-বিচ্যুতি> মৌলিক উপাদানসমূহ> রিলিজ ২.২> টাইপো ২৮ পৃষ্ঠায়, দ্বিতীয় বাক্যটি ভাগ্য দিয়ে শুরু হয় , পরিবর্তে লকটি পড়ুন ।

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

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


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

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


ডান উন্নয়ন প্রক্রিয়াটির জন্য ড্যানএমসিগ্রা আরও একটি পরামর্শ: পুশ-ট্র্যাক-ব্যাকআউট-পুনরাবৃত্তি পদ্ধতির বিবেচনা করুন। 1) প্রযুক্তি লেখকদের কঠোর প্রক্রিয়াতে চাপ দিন 2) চাপের সময় ডক মানের গুণমান 3) যদি মান হ্রাস হয় তবে "নরম" প্রক্রিয়াতে ব্যাকআউট 4) কিছু সময় পরে - তারা বর্তমান স্তরের অভ্যস্ত হয়ে যাওয়ার পরে - কঠোর একটিতে পুনরায় চাপ দিন। এবং আরও অনেক কিছু, এবং আপনি সেখানে 100% না হওয়া পর্যন্ত। :)
gnat

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

@GilbertLeBlanc প্রশ্ন সম্বন্ধে "সহায়িকা" যা আমি (এবং আমি মনে করি ছিল উইকিপিডিয়া ) আমার উত্তর কভার স্টাফ যথেষ্ট চওড়া বিবেচনা
মশা

5

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

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

আপনার ফাংশনগুলির যে কোনও পার্শ্ব প্রতিক্রিয়াগুলির ব্যাখ্যা অন্তর্ভুক্ত করতে ভুলবেন না ।

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

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

লেখক ১৯ Syste7 থেকে ১৯৯১ সালের মধ্যে রেডি সিস্টেমস ইনক এর বিকাশ কেন্দ্রের ইঞ্জিনিয়ারিং সার্ভিস বিভাগের পরিচালক ছিলেন এবং পাঁচজন প্রযুক্তিবিদের একটি দল পরিচালনার দায়িত্বে ছিলেন।

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