সফ্টওয়্যার সেরা অভ্যাস জন্য উপযুক্ত রেফারেন্স


14

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

জে ডো 1973 সালে ইউনিট পরীক্ষা উদ্ভাবন করেছিলেন [ 23 ] । Bloggs দ্বারা একটি সাম্প্রতিক গবেষণা এট [ 24 ] দেখিয়েছেন যে ইউনিট পরীক্ষা 73% সফ্টওয়্যার ত্রুটি প্রকোপ কমে ... 234 পৃথক ইউনিট পরীক্ষা কোড বেস Timpkins এট দ্বারা নির্মিত xUnit ফ্রেমওয়ার্ক দ্বারা পরিচালিত যোগ করা হয় নি,[23][24][25]

আমি স্নাতকোত্তর একাডেমিক রেফারেন্সগুলি (মূলত পিয়ার-পর্যালোচিত জার্নালগুলিতে যেখানে আমি ডিওআই, বিবিটেক্স ইত্যাদি পেতে পারি) এর সন্ধান করছি, বিশেষত:

  • ইউনিট পরীক্ষা
  • ভর্সন নিয্ন্ত্র্ন
  • মডুলারাইজেশন / উদ্বেগের বিচ্ছেদ
  • প্রোফাইলিং তথ্যের উপর ভিত্তি করে পারফরম্যান্স প্রোফাইলিং / অপ্টিমাইজেশন
  • বাগ / ইস্যু ট্র্যাকিং

আমি প্রাথমিক আবিষ্কার এবং কার্যকারিতা পরবর্তী মূল্যায়ন উভয় সম্পর্কে সন্ধান করছি। যদি কোনও পর্যালোচনা নিবন্ধ থাকে যা এই সমস্ত জিনিসকে এক জায়গায় তালিকাবদ্ধ করে তবে আরও অনেক ভাল।


1
এটি কী সহায়তা করে: plosbiology.org/article/…
আকিদ

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

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

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

উত্তর:


13

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

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

PLOS কাগজ যে DavidKetcheson এবং আমি উদাহৃত লেখক একটি প্রতিষ্ঠানের নামক অংশ সফটওয়্যার পেজ বিজ্ঞানীদের জন্য সফটওয়্যার উন্নয়ন এবং দরকারী গণনীয় দক্ষতা জন্য কিছু সর্বোত্তম কার্যাভ্যাস সম্বন্ধে আমাদের কী শিক্ষা বিজ্ঞানীরা (সাধারণত 2 দিন) "বুট ক্যাম্প" এর উপর রাখে (শুধুমাত্র গণনা বিজ্ঞানী)। সফ্টওয়্যার কার্পেন্ট্রি ওয়েব সাইটে বিজ্ঞানের সফ্টওয়্যার বিকাশের সাথে সম্পর্কিত একটি বিস্তৃত গ্রন্থপঞ্জি রয়েছে । আপনি যদি এই বিষয়গুলিতে আগ্রহী হন তবে আমি আপনাকে তাদের কাছে পৌঁছাতে উত্সাহিত করি; তারা সর্বদা বিভিন্ন দক্ষতায় স্বেচ্ছাসেবক করার জন্য সফ্টওয়্যার বিকাশের সেরা অনুশীলনের আরও উকিলদের সন্ধান করে। ( অস্বীকৃতি : আমি সফটওয়্যার কার্পেন্ট্রি দিয়ে স্বেচ্ছাসেবক।

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


"সফ্টওয়্যার কার্পেন্ট্রি" পড়ার তালিকাটি সহায়ক মনে হচ্ছে।
ব্যবহারকারী 1915639

6

এই ধারণাগুলি / অনুশীলনের প্রত্যেকটির উত্স সম্পর্কে আমার কাছে উল্লেখ নেই। তবে এখানে কিছু অতি সাম্প্রতিক, প্রাসঙ্গিক উল্লেখ রয়েছে:


আমি এই রেফারেন্সগুলির মধ্যে প্রথমটি অবশ্যই স্পষ্টভাবে দ্বিতীয় স্থানে রেখেছি :-) এটি সম্পূর্ণ তথ্য ওল্ফগ্যাং ব্যাঙ্গার্থ, টিমো হিস্টার কী গণ্য ওপেন সোর্স সফ্টওয়্যার লাইব্রেরিগুলিকে সফল করে তোলে? গণনা বিজ্ঞান ও আবিষ্কার, খণ্ড 6, নিবন্ধ 015010 (18 পৃষ্ঠাগুলি), 2013
ওল্ফগ্যাং ব্যাঙ্গার্থ

-2

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

আপনার প্রকল্পটি কী প্রয়োজন, কেন এটির প্রয়োজন এবং কেন ব্যবহৃত পদ্ধতির উল্লেখ এবং আপনি কেন সেগুলি ব্যবহার করেছেন সেগুলি উল্লেখ করে আমি এটির কাছে পৌঁছে যাব।

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

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


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

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