সি ++ এ সংখ্যাগত সফ্টওয়্যার লেখার নকশার নকশা patterns


13

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

আমি পাঠ্যটি সম্পর্কে সচেতন, রাইটিং সায়েন্টিফিক সফটওয়্যার: একটি গাইড ফর গুড স্টাইল , তবে এটি এখনও ভাসমান পয়েন্ট সম্পর্কিত বিষয়গুলি, কখন এবং কখন অনুকূল করা যায় ইত্যাদি বিষয়গুলির সাথে অনেক কিছু করে deals

আমি সংখ্যা সংক্রান্ত কোডগুলি ডিজাইনের বৃহত্তর চিত্রের তথ্য অনুসন্ধান করছি , এমন কোনও কিছুতে নয় যা অ্যালগরিদম এবং এর মতো আচরণ করে।

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

(এটি ভাষা নির্দিষ্ট নয়, তবে যদি কোনও ভাষা নির্দিষ্ট সামগ্রী থাকে তবে আমি সি ++ পছন্দ করবো prefer)


আমি প্রায়শই এরকম একটি বই লেখার কথা ভেবেছি; তবে সম্ভাব্য পদ্ধতির পরিধিটি বিশাল (এবং এটি প্রাথমিক সংখ্যার কৌশল + সমস্যার ডোমেনের উপর দৃ depends়ভাবে নির্ভর করে) এবং যা প্রয়োজন তা এনসাইক্লোপিডিয়াটির মতো। এছাড়াও, কোনও একক ব্যক্তির সমস্ত সম্ভাবনার উপলব্ধি থাকতে পারে না। হার্ডওয়্যার বিকাশের বিষয়টি মাথায় রেখে traditionalতিহ্যবাহী সফ্টওয়্যার অনুশীলন অনুসরণ করলে সেরাটি করতে পারেন। আপনার কৌশল এবং আগ্রহের ডোমেন কী?
বিশ্বজিৎ ব্যানার্জি

2
অ্যান্টনি স্কোপাটজ এবং ক্যাথরিন হাফের "কার্যকর পদার্থে পদার্থবিজ্ঞান" লক্ষ্য করা যায় না এমন আরেকটি দরকারী রেফারেন্স।
ব্রায়ান বোর্চারস

@ ব্রায়ানবার্সার এইচএম, মনে হয় এটির অর্ধেকটি পাইথনের পরিচয় এবং তারপরে উন্নয়নের সরঞ্জামগুলিতে মনোনিবেশ করেছে।
ব্যবহারকারী 1997744

উত্তর:


8

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

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


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

@ বিশ্বজিৎ বানার্জি হ্যাঁ, সি ++ মূল নির্দেশিকা আধুনিক সি ++ ব্যবহারের যে কারও জন্য প্রাথমিক জ্ঞান। ভেষজ সুটার এর অন্যতম সম্পাদক এবং আপনি সর্বদা তাঁর পরামর্শকে বিশ্বাস করতে পারেন।
ব্যবহারকারী 1997744

@ user1997744 আপনি বাজরেন মানে? ভেষজ সুটার তার "সর্বদা অটো" ধারণার জন্যও বিখ্যাত, যা কেবল লেখার কোডকে নিয়ে যায় (আমি নিশ্চিত না যে তার রায়কে আমি কতটা বিশ্বাস করব)। এছাড়াও, সি ++ মূল নির্দেশিকা বুনিয়াদি জ্ঞান থেকে অনেক দূরে। আপনি অবাক হবেন।
বিশ্বজিৎ ব্যানার্জি

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

6

আমি এই ম্যাথু জি নিপলে সুপারিশ। বৈজ্ঞানিক কম্পিউটিং জন্য প্রোগ্রামিং ভাষা। আরএক্সআইভিউ প্রিপ্রিন্ট আরএক্সিভি: 1209.1711, 2012 ( https://arxiv.org/pdf/1209.1711.pdf )

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

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


নতুন কিছু শুরু করার জন্য আমার যুক্তি হ'ল এটির কাছ থেকে শেখার অভিজ্ঞতা এবং অর্জনের অনুভূতি :)
ব্যবহারকারী 1997744

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

ঠিক আছে, আমার যা করার দরকার তা অতি নির্দিষ্ট সংখ্যার জন্য কোনও লাইব্রেরি নেই, সুতরাং শেষ পর্যন্ত আমাকে আসলে আমার নিজের লিখতে হবে যদিও অবশ্যই সবকিছু পুনরায় উদ্ভাবনের দরকার নেই।
ব্যবহারকারী 1997744

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