কোনও প্রোগ্রামার স্থির ভাষাগুলিতে কীভাবে ব্যবহার করে জাভাস্ক্রিপ্ট টুলিংয়ের অভাবকে মোকাবেলা করে


28

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

আপনি পারেন:

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

এই সমস্ত সুযোগ-সুবিধা আমাকে আইডিই আমার সেরা বন্ধু বলে মনে করে। জাভা কোড লেখা এবং বিশেষত অন্যান্য লোকের প্রোগ্রামগুলি বোঝা আরও সহজ হয়ে যায়।

তবে জাভাস্ক্রিপ্টটি ব্যবহার করার জন্য আমাকে আরও বেশি করে আহ্বান জানানো হচ্ছে, এবং এখনও পর্যন্ত আমার অভিজ্ঞতা বেশ নেতিবাচক হয়েছে।

নির্দিষ্টভাবে:

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

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

  • কলব্যাক হিসাবে অজ্ঞাতনামা ফাংশনগুলির সাধারণ ব্যবহার, যা ঘন ঘন বিভ্রান্তিকর কোডের পাথের স্প্যাগেটি বাড়ে, আপনি দ্রুত চলাচল করতে পারবেন না।

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

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

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

আমার প্রশ্ন, অন্যান্য প্রোগ্রামাররা কীভাবে এই সমস্যাগুলি মোকাবেলা করে? জাভাস্ক্রিপ্ট স্পষ্টভাবে জনপ্রিয়তার সাথে বৃদ্ধি পাচ্ছে এবং আমি যে ব্লগগুলি পড়েছি সেগুলি সম্পর্কে এই বিষয়গুলির সমাধানের জন্য মরিয়া চেষ্টা করার চেয়ে উত্পাদনশীল লোকেরা কীভাবে তা নিয়ে চলছে about

GWT আপনাকে জাভাতে জাভাস্ক্রিপ্ট পরিবেশের পরিবর্তে কোড লেখার অনুমতি দেয়, তবে আমার প্রত্যাশা মতো বহুল ব্যবহৃত হয় না বলে মনে হয়; লোকেরা জটিল প্রোগ্রামগুলির জন্য জাভাস্ক্রিপ্টকে বেশি পছন্দ করে।

আমি কী মিস করছি?


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

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

2
আমি তোমার কষ্টটা অনুভব করতে পারছি. জাভাস্ক্রিপ্টে নেমে যাওয়া হ'ল ক্লায়েন্টের পক্ষে সমাবেশ ভাষায় নামার ওয়েব সংস্করণ। এটি অবশ্যই মজাদার হতে পারে তবে টুলসেটগুলি দুর্বল এবং উত্পাদনশীলতা অবশ্যই আপনার অতিরিক্ত সমস্ত কাজের সাথে কমেছে drops প্রোগ্রামিং এ যদিও জীবন। বিমূর্তনের সর্বোচ্চ স্তরে সবকিছু করা যায় না। :-)
ব্রায়ান নোব্লাচ

2
@ এরিক রেপ্পেন আমি জাভা বিকাশকারী হিসাবে শুরু করেছিলাম তবে আমি রুবি, ডেল্ফি, সি ++, সি #, প্রোলগ, পিএইচপি, বাশ-এ প্রোগ্রাম হওয়া ওবজে-সি তে সাবলীল, এবং এখনও আমি জাভাস্ক্রিপ্টটি পড়তে এবং মন্টেইনের চেয়ে খারাপ দেখতে পাই।
সুলতান

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

উত্তর:


22

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

একটি মডিউল প্যাটার্ন ব্যবহার করুন - হয় হাত দ্বারা, বা প্রয়োজনীয় জাজের মতো সরঞ্জাম সহ । মডিউলগুলি ছোট রাখুন, যাতে আপনি এগুলি সম্পর্কে সহজেই তর্ক করতে পারেন।

বহু প্রকারের মতো সংজ্ঞায়িত করবেন না - কল পয়েন্টের কাছাকাছি তৈরি অজ্ঞাতনামা বস্তু ব্যবহার করুন। তারপরে আপনি কলার এবং কলিটির দিকে নজর রাখতে পারেন এবং কী চলছে তা জানতে পারবেন।

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

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


সরঞ্জামদানের অভাব কীভাবে মোকাবেলা করতে হবে তা সম্পর্কে গঠনমূলক পরামর্শের জন্য এটিকে গ্রহণ করা।
ফানকিব্রো

3
"এগুলি ছাড়া আপনাকে শিখতে হবে।" বা এটিকে স্ক্র্যাপ করুন বা উচ্চ-স্তরের ভাষা ব্যবহার করুন যা জাভাস্ক্রিপ্ট তৈরি করে এবং সঠিক সরঞ্জাম রয়েছে।
ডেন

@ ডেন: উন্নত সরঞ্জামগুলির সাথে আপনার কি উচ্চ-স্তরের ভাষার জন্য কোনও পরামর্শ আছে? আমার অভিজ্ঞতায়, উন্নত সরঞ্জামগুলি জনপ্রিয় ভাষার জন্য তৈরি করা হয়। জাভাস্ক্রিপ্টে সংকলিত কোন উচ্চ-স্তরের ভাষা এমন সরঞ্জামগুলির জন্য যথেষ্ট জনপ্রিয়?
শান ম্যাকমিলান

1
@ সানমিসিমিলন: কিছু নেট নেট সি (সি # / এফ #) উদাহরণগুলি হ'ল jsil.org , প্রজেক্ট.নিখিলক . नेट / স্ক্রিপ্টশার্প
ডেন

1
@ সিয়ানম্যাকমিলান জাভাও,
জিডাব্লুটিটি

24

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

আইডিই রয়েছে তবে এটি কেন বুঝতে পারছে না কেন এটি অনেক বেশি হয়েছে

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

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

গঠন

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

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

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

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

প্রথম মূল নীতি

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

ডায়নামিক টাইপিং থেকে ভয় পাবেন না

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

জেএস ফাংশন এবং ক্লোজার থেকে ক্র্যাপ শিখুন

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

দত্তক নেওয়ার আগে প্যাটার্নগুলি / অভ্যাসগুলি পুনরায় মূল্যায়ন করুন

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

ভাষার নেতৃত্ব অনুসরণ করুন এবং আরও কম কিছু করুন

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

সবকিছু হ'ল ম্যালেবল এবং এটি ঠিক আছে

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

কোনও আকারের সীমা নেই, কেবলমাত্র সমস্যা ডোমেন

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

জাভা যদি আপনার সমস্ত জানা থাকে তবে একটি নন-সি-ভিত্তিক সিনট্যাক্স সহ কিছুতে ডাবল করুন

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

উপসংহার

এখন, এই সমস্ত বিবেচনা করে, আপনার সমস্ত সমস্যা-পয়েন্টগুলিকে আঘাত করতে দাও:

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

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

function ObjectConstructor(){
    //No need for an init method.
    //Just pass in params and do stuff inside for instantiation behavior

    var privateAndPersistent = true;

    //I like to take advantage of function hoisting for a nice concise interface listing
    this.publicAndPointlessEncapsulationMurderingGetterSetter
    = publicAndPointlessEncapsulationMurderingGetterSetter;
    //Seriously though Java/C# folks, stop with the pointless getter/setters already

    function publicAndPointlessEncapsulationMurderingGetterSetter(arg){
        if(arg === undefined){
            return privateAndPersistent;
        }
        privateAndPersistent = arg;
    }

}

ObjectConstructor.staticLikeNonInstanceProperty = true;

var instance = new ObjectConstructor();//Convention is to  capitalize constructors

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

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

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

  • কলব্যাক হিসাবে অজ্ঞাতনামা ফাংশনগুলির সাধারণ ব্যবহার, যা ঘন ঘন বিভ্রান্তিকর কোডের পাথের স্প্যাগেটি বাড়ে, আপনি দ্রুত চলাচল করতে পারবেন না।

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

doSomethingWithCallback( (function callBack(){}) );

আপনি যখন কলগুলির মাধ্যমে ট্রেস করছেন তখন Chrome এর জন্য আপনার একটি নাম থাকবে। অ-তুচ্ছ ফানক জন্য আমি কলটির বাইরে এটি সংজ্ঞায়িত করব। আরও মনে রাখবেন যে কোনও ভেরিয়েবলের জন্য নির্ধারিত অ্যানোয়াইমাস ফাংশনগুলি এখনও বেনামে থাকে।

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

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

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

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

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


3
উত্তরের আকারের জন্য উত্সাহ দেওয়া ...
ফ্লোরিয়ান মার্জাইন

5

আপনি যা বলছেন তা জাভাস্ক্রিপ্টের দিকে তাকানো জাভা মনের একজনের সাধারণ ক্রেপ।

প্রথমে আপনার প্রশ্নের উত্তর দিন ...

... আমার প্রশ্ন, অন্যান্য প্রোগ্রামাররা কীভাবে এই সমস্যাগুলি মোকাবেলা করে ...

উত্তর: তারা না। তারা প্রথমে জাভা সংস্কৃতি ত্যাগ করে জাভাস্ক্রিপ্ট দর্শন শিখেছে।

আপনাকে এই ভিত্তিটি বুঝতে হবে ... জাভাস্ক্রিপ্ট জাভা নয়। এটি কেবল বাক্য গঠন সম্পর্কে নয় - এটি দর্শনের বিষয়ে আরও বেশি।

এখন আসুন তাদের কিছু গ্রহণ করা ...

  • কোনও পদ্ধতিতে অনুরোধ করা সমস্ত স্থানে তাত্ক্ষণিকভাবে দেখুন বা একটি ধ্রুবক ব্যবহৃত হয় (কল হাইয়ারকি / রেফারেন্সগুলি খুলুন)

    এর সংজ্ঞাটিতে সরাসরি যেতে কোনও ফাংশন / সদস্য / শ্রেণীর নামের উপর ক্লিক করুন

    এগুলি সব উপলভ্য - কেবল একটি শালীন আইডিই চয়ন করুন।

  • স্ট্যাটিক টাইপিং এর অর্থ আপনি কোনও সামগ্রীতে উপলব্ধ সমস্ত পরামিতি / ফাংশনগুলি দেখানোর জন্য কোড সমাপ্তিটি ব্যবহার করতে পারেন

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

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

    ফায়ারব্যাগ, ক্রোম / সাফারি কনসোল এবং এমনকি আইডিইগুলি আরও অনেক কিছুই করে।

    JSHint আছে যা জাভা প্রোগ্রামারদের ব্যবহৃত নিফটি স্ট্যাটিক বিশ্লেষণ করতে পারে।

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

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

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

    সম্পূর্ণ ভুল! আপনি প্রোগ্রামিং ভাষার উপর নির্ভর করে পাঠযোগ্যতা কীভাবে স্থির করবেন? প্রোগ্রামগুলি পাঠযোগ্য (বা না) - ভাষা নয়। এছাড়াও, জাভাস্ক্রিপ্টের চমত্কার ডিবাগারগুলি পেয়েছে।

আমি যদি কিছুটা অসভ্য শব্দ মনে হয় তবে আমাকে ক্ষমা করুন - তবে সত্য কথাটি আপনাকে জাভাস্ক্রিপ্ট বুঝতে আপনার জাভা স্বভাব পরিবর্তন করতে হবে

কেবল "পরিপক্ক" জাভা প্রোগ্রামাররা জাভাস্ক্রিপ্টের প্রশংসা করতে পারে - এবং আপনি যা প্রশংসা করেন না তা আপনি আয়ত্ত করতে পারবেন না। আবার, পুরোপুরি ভোঁতা থাকার জন্য দুঃখিত।


2
আপনার কি জাভাস্ক্রিপ্ট আইডিইর একটি উদাহরণ রয়েছে যেখানে আমি "কোনও সংজ্ঞা / সদস্য / শ্রেণীর নামের উপর সরাসরি ক্লিক করে তার সংজ্ঞাতে যেতে পারি" ক্লিক করতে পারি? আমি জাভা এবং স্কালার জন্য Eclipse ব্যবহার করি তবে জাভাস্ক্রিপ্টের জন্য ভাল আইডিই / সম্পাদকের অভাব রয়েছে।
জোনাস

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

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

2
এমনকি গুগলের জাভা দেবগণও জেএস লেখার সময় জাভা থেকে তাদের মাথা সরিয়ে নেবে বলে মনে হচ্ছে না। sitepPoint.com/google-closure-how-not-to-writ-javascript
এরিক পুনরায়

3
আপনি লিখুন: জাভাস্ক্রিপ্ট জাভা নয় এবং জাভা স্ক্রিপ্ট বুঝতে আপনার জাভা স্বভাব পরিবর্তন করতে হবে তার পরে: কেবল "পরিপক্ক" জাভা স্ক্রিপ্টরা জাভাস্ক্রিপ্টের প্রশংসা করতে পারে ... সুতরাং জাভাস্ক্রিপ্ট বুঝতে আমার প্রথমে জাভা স্ক্রিপ্ট করতে হবে, এবং তারপরে সমস্ত কিছু ভুলে যেতে হবে এটা?
কালেব

3

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


2

বাজে টাইপ করা ভাষা ব্যবহারের জন্য আমরা এই মূল্যটি দিতে পারি। এই ঘৃণা কেন এত জনপ্রিয় হয়েছে তা কেবল একজনই ভাবতে পারেন। অসুবিধাগুলি খুব কম টাইপ করা ভাষার সুবিধার চেয়ে বেশি।

এটিকে দূরে সরাতে আমাদের এই অসম্পূর্ণ -অসহযোগ-নীতিটি প্রয়োগ করা উচিত ।


3
"খারাপভাবে টাইপ করা ভাষা" - অনেক প্রোগ্রামার আপনার সাথে একমত নন।
শান ম্যাকমিলান

7
+1, জাভাস্ক্রিপ্ট জনপ্রিয় হওয়ার একমাত্র কারণ হ'ল এটি সঠিক সময়ে সঠিক জায়গায় ছিল।
maple_shaft

2
ওহ, তোমরা সকলেই দুঃখিত যে জাভাটির পরিবর্তে নোড.জেসের সি ++ এর সাথে বাইন্ডিং রয়েছে?
এরিক রিপেন

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

3
@ রায়ানকিনাল সত্যিই? আপনার যা জানা উচিত সব বৈশিষ্ট্য এবং পদ্ধতি সব আপনার সমগ্র অ্যাপ্লিকেশানের মধ্যে বস্তু এবং ক্লাস, এবং আপনার ভাষা এর API- এর, এবং যে কোনো লাইব্রেরি আপনি ব্যবহার করছেন, যে মেমরি দ্বারা ? আপনি আইডিই কোড-সমাপ্তির ধারণাটি জ্ঞানীয় লোড হ্রাস করে এবং আপনাকে কী ভাবার জন্য কম জিনিস সরবরাহ করে ব্যাপকভাবে উত্পাদনশীলতার উন্নতি করছেন তা প্রত্যাখ্যান করেন?
ফানকিব্রো

2

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

জাভাস্ক্রিপ্টের জন্য আমার পছন্দের আদর্শটি ওয়েবস্টর্ম কারণ এটি jQuery ইন্টেলাইটেক্সট কাজ করা সহজ (লজ্জাজনক এটি নিখরচায়)।

এছাড়াও, আমি এটির বর্ধন - এটি সর্বব্যাপী ইতিমধ্যে বলব না।

আপনার নির্দিষ্ট পয়েন্ট:

কোনও কার্যের প্রবেশের স্থানটি খুঁজে পাওয়ার কোনও তাত্ক্ষণিক উপায় নেই

আমি এটি বুঝতে পারি না, এটি কীভাবে সহজ হতে পারে?

প্যারামিটারে কী কী বৈশিষ্ট্য এবং ফাংশন উপলব্ধ তা কোন উপায় ছাড়াই প্যারামিটারগুলি ফাংশনে স্থানান্তরিত হয়

যদি আপনি অবজেক্টের সংজ্ঞা অন্তর্ভুক্ত করার জন্য আপনার আদর্শ সেট আপ করেন তবে অবজেক্টের বৈশিষ্ট্যগুলি ইন্টেলাইটেক্সট এর মাধ্যমে পাওয়া যাবে (তবে আমি আপনার পয়েন্টটি এখানে মিস করতে পারি)।

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

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

জেএসলিন্ট রানটাইমের আগে কিছু ত্রুটি ধরেছে

এটি তাদের সকলকে ধরে ফেলে আপনি এটিকে আপনার আদর্শের সাথে অন্তর্ভুক্ত করতে পারেন । অথবা ওয়েবস্টর্ম এটিকে ডিফল্টরূপে অন্তর্ভুক্ত করে (আমি মনে করি)।


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

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

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

3
এখানে নেই! এই কোড বিবেচনা করুন: var myFunc = function(param) { ... }; var myObj1 = { fooProp: fooVal, barProp: barVal}; var myObj2 = { catProp: catVal, dogProp: dogVal}; myFunc(myObj1); myFunc(myObj2); কীভাবে একটি আইডিই অফার কোড সমাপ্তির myFuncএর paramপ্যারামিটার? paramযে কোনও বৈশিষ্ট্য সহ যে কোনও ধরণের যেকোন বস্তু হতে পারে।
ফানকিব্রো

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

2

আমি কী মিস করছি?

জাভাস্ক্রিপ্ট জাভায় যে দুটি বিশাল সুবিধা রয়েছে তা আপনি মিস করছেন:

  • জাভাস্ক্রিপ্ট কোড সমান জাভা কোডের আকারের প্রায় এক চতুর্থাংশ।
  • আপনাকে কখনই একটি সংকলন এবং সার্ভার পুনঃসূচনা করার জন্য অপেক্ষা করতে হবে না।

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

আমি জাভা প্রোগ্রামিং তুলনামূলকভাবে অনুপাতহীন বলে মনে করেছি এবং একই দুটি কারণে এখন গ্রোভিতে আমার সমস্ত সার্ভার-সাইড কোড লিখছি।


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

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

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

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

1
ডাউনভোটার্স: এটি জাভা বনাম জাভাস্ক্রিপ্ট সম্পর্কিত কোনও গণভোট নয়। এটি বিনা কারণে ডাউনটাতে অভদ্র
কেভিন ক্লাইনে

0

আমি জানি এই প্রশ্নটি পুরানো তবে একজন সি ++ / সি # প্রোগ্রামার হিসাবে যার একই অনুভূতি ছিল তবে যিনি এখন গত 10 বছর ধরে প্রচুর জাভাস্ক্রিপ্ট করেছেন আমার প্রথম সুপারিশটি ভিজ্যুয়াল স্টুডিও কোডকে একবার চেষ্টা করে দেখানো হবে ।

অবশ্যই এটি দৃ feature়ভাবে টাইপিত ভাষার সাথে যুক্ত করা যায় এমন প্রতিটি বৈশিষ্ট্য সরবরাহ করতে পারে না তবে এটি মোটামুটি কাছাকাছি আসে।

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

আপনার প্রশ্ন তাই

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

বেশিরভাগ ভিএসকোডে সমাধান হচ্ছে বলে মনে হচ্ছে?

  • প্যারামিটারে কী কী বৈশিষ্ট্য এবং ফাংশন উপলব্ধ তা কোন উপায় ছাড়াই প্যারামিটারগুলি ফাংশনে স্থানান্তরিত হয়

জেএসডোক স্টাইল মন্তব্য বা টাইপ স্ক্রিপ্ট দিয়ে আপনার কোড নথিভুক্ত করে অনেক আইডিই এর জন্য সমাধান করা হয়েছে solved সম্পাদকরা মন্তব্যগুলি পড়বেন এবং আপনাকে একই ধরণের সম্পূর্ণতা দেবেন যা আপনি ব্যবহার করেছেন

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

একটি সি # প্রোগ্রামার হিসাবে বেনাম ফাংশনগুলিও সেখানে সাধারণ এবং সি ++ এ যুক্ত করা হয়েছে। আমি মনে করি এটি আপনার অভ্যস্ত হতে হবে is

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

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

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

এটি 2018 এবং ES7 নতুন আদর্শ তাই আপনি পান class। আপনি সর্বদা কঠোর মোড ব্যবহার করেন। আপনি কখনই ব্যবহার করেন না varএবং সর্বদা ব্যবহার করেন constএবং letসি ++ / সি # / জাভা প্রোগ্রামারদের এক প্রকারের অদৃশ্য হতে ব্যবহার করতে খুব কষ্ট হয়। no-undefESLint এ নিয়ম চালু করুন এবং আরও বেশি সমস্যা অদৃশ্য হয়ে যায়

এটি বলেছে যে কীভাবে thisসত্যই কাজ করে এবং কীভাবে ফাংশন এবং পদ্ধতিগুলি কার্যকরভাবে কাজ করে তা শিখুন কারণ এটি সি ++ / সি # / জাভার মতো নয়।

আমার জাভাস্ক্রিপ্টের প্রথম 2-3 বছরগুলি হতাশ হয়ে পড়েছিল। কিছু সময় এটি ক্লিক করা হয়েছে যদিও। আমি এটিকে সি ++ / সি # / জাভা হিসাবে জোর করে তোলার চেষ্টা করা বন্ধ করে দিয়েছিলাম এবং এখন যখন আমি জাভাস্ক্রিপ্টে 15 লাইন নেবে এমন জিনিসগুলি সেই অন্যান্য ভাষায় 150 নেবে তখন আমি ফিরে যেতে হতাশ হই।


-1

আপনি যদি আইডিইগুলি পছন্দ করেন এবং গ্রহন করতে অভ্যস্ত হন তবে জাভাস্ক্রিপ্টের জন্য আইডিই হিসাবে অ্যাপ্টানাকে চেক আউট করুন। আমি মনে করি এটি আপনি যা চান তা অনেক কিছু করতে পারে। (আমি ব্যক্তিগতভাবে আইডিইগুলি ঘৃণা করি তবে এটি একটি আলাদা কথোপকথন)।

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

আপনি যদি জাভাস্ক্রিপ্টে সংকলন করতে পারে এমন অন্য কিছু চান তবে বিকল্পগুলির একটি গোছা রয়েছে, কফিস্প্রিপ্ট, ক্লোজার এবং জিডাব্লুটি সবগুলি মনে মনে জড়িয়ে যায় তবে অন্য কিছু রয়েছে।


2
আমি একবার অপ্টানাকে চেষ্টা করেছিলাম, এবং এটি সত্যিই খারাপ। এটি এমনকি নেই স্বয়ং-খাঁজ এবং এটি সমস্ত প্রকল্পের সেটিংস অন্যান্য অন্ধকার সম্পাদকদের যেমন রং এবং স্টাফ দ্বারা সেট ধ্বংস যদি আমি একই প্রকল্পে অন্ধকার এবং Aptana ব্যবহার করুন।
জোনাস

1
আমি এটি কিছুক্ষণ ব্যবহার করেছি এবং এটি ঘৃণা করেছিলাম, তবে আমি যেমন বলেছি আমি আইডিই'র ঘৃণা করি আমি কমান্ড লাইন সরঞ্জাম দ্বারা ফর্ম্যাট করি এবং জিভিআইএম বা ইমাসে সম্পাদনা করি (আমি যা করছি তার উপর নির্ভর করে)
জাচারি কে

প্রথম কয়েক ঘন্টার মধ্যে ক্রাশ হয়েছে এবং আমার হাতে কয়েকটা ফাইল বাদে আর কিছুই খোলা নেই? Buh বিদায়.
এরিক রিপেন

ওয়েবস্টর্ম খারাপ নয়। আমি এখনও বেশিরভাগ সময় স্কাইটি ব্যবহার করি তবে নোড.জেএস স্টাফ লেখার সময় আমি আইডিই জিনিসটি আরও অনুভব করতে শুরু করি এবং আমার কাছে দৃশ্যমান ব্রাউজার প্রতিক্রিয়া এবং দেব সরঞ্জামগুলির সুবিধা নেই।
এরিক পুনরায়

-1

আমি নিজে এটি এখনও ব্যবহার করি নি তবে আমি কিছু ডেমো দেখেছি এবং আমি জাভাস্ক্রিপ্ট আইডিই হিসাবে ক্লাউড 9 দ্বারা খুব মুগ্ধ হয়েছি ।

আপনি উভয় অনলাইন পরিষেবা মডেলের জন্য যেতে পারেন বা এটি গিটহাব থেকে ডাউনলোড করতে পারেন।

এবং এটির আইডিই হিসাবে এর মানের প্রমাণ হিসাবে, ক্লাউড 9 ... ক্লাউড 9 ব্যবহার করে লেখা হয়েছিল!

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