დიდი პროგრამირების სიტყვები ან ფრაზები

ჯიბის დამცავიზოგიერთ განსაკუთრებულ პროგრამისტთან მუშაობისას, ხშირად ვხვდები ხოლმე შეხვედრებს არქიტექტორებთან, ხელმძღვანელობებთან და დეველოპერებთან, რომლებსაც (ვფიქრობ) უყვართ დიდი სიტყვების ან ფრაზების გადაგდება იქ, რათა პროდუქტის მენეჯერები ან მათი კლიენტები შეაშინონ.

ეს არის ერთ-ერთი ისეთი რამ, რისი გაკეთებაც მოსწონთ პროგრამისტებს. აქ არის ათი მათგანი ძალიან მარტივი აღწერილობით (რაც უდავოდ მიიპყრობს დეველოპერების აღშფოთებას ყველგან, რადგან მათი ტერმინოლოგია სიკვდილით ვატეხებ ჩემი მარტივი მანქანის მეტაფორები):

  1. აბსტრაქცია - ეს რთულ პროცესს ან ფუნქციას ატარებს და ძირითადად ლოგიკურად არღვევს მას… ან იერარქიის მიხედვით (A ეკუთვნის B, B ეკუთვნის C და ა.შ.) ან მახასიათებლის ან ფუნქციის მიხედვით (ფერი, ზომა, წონა და ა.შ.). აბსტრაქცია აადვილებს ობიექტზე ორიენტირებულ პროგრამირებას ფუნქციონალური ლოგიკურად ორგანიზებით. ჩემი მანქანის ასაშენებლად ჩარჩოს, ძრავას და კორპუსს ცალკე ვაშენებ.
  2. დეპრესია - ეს ნიშნავს, რომ სისტემაში არის ძველი კოდი, რომელიც შეიძლება დარჩეს, მაგრამ ეტაპობრივად უნდა ამოიწუროს. როდესაც კოდი იწურება, პროგრამისტები არ მიუთითებენ კოდს ან არ იყენებენ ახალ კოდს, სანამ ყველა მითითება არ გადავა ძველზე, ამ დროს ის უნდა მოიხსნას. ზოგჯერ, თუ ეს ფუნქცია ქრება, შეგიძლიათ შეინახოთ იგი გარკვეული დროით თქვენი მომხმარებლების გაფრთხილებით, რომ ის გაქრება. მე მივიღე ახალი სტერეო სისტემა ახალი გაყვანილობით, მაგრამ ვტოვებ ძველ გაყვანილობას და არ ვიყენებ მას.
  3. Encapsulation - ეს არის თქვენი პროგრამირების ფუნქციების ორგანიზების პროცესი მშობელში, როდესაც ეს ფუნქცია არ აღწევს სისტემის სხვა ნაწილებში. თუ თქვენ გაქვთ მილიონობით ფუნქცია, გსურთ მათ ეფექტურად ორგანიზება და ფუნქციონირება მოახდინონ იმ სფეროებში, სადაც ისინი მოქმედებენ, ვიდრე გქონდეთ ხელმისაწვდომი გლობალურად. ძრავის საყრდენი მექანიკა ჩავდე ძრავის ნაწილში the ზეთის ფილტრს არ ვდებ უკანა სავარძელზე.
  4. მემკვიდრეობა - ეს არის სხვა კოდის (კლასის) თვისებების მიღების შესაძლებლობა, რათა თავიდან იქნას გამოყენებული ახალი ფუნქციონირებისთვის, მისი გადაწერას გარეშე. მემკვიდრეობა არის კიდევ ერთი კარგი ობიექტზე ორიენტირებული განვითარების პრაქტიკა. ჩემი მანქანის სავარძელი შეიძლება გამოყენებულ იქნას ბავშვის ან მოზრდილის ასატანად - ვინც მასში ზის.
  5. ნორმალიზაცია - ეს არის მონაცემთა ბაზაში მონაცემთა უფრო ეფექტურობის ორგანიზების მეთოდი, მითითებების შემუშავებით. მაგალითად ის იქნება, თუ შუქნიშნის ჩაწერა მომიწევს მთელი დღის განმავლობაში… წითელი, ყვითელი და მწვანე. იმის ნაცვლად, რომ დავწერო თითოეული ჩანაწერი წითელი, ყვითელი და მწვანე - მე ვწერ 1, 2 და 3 და შემდეგ გავაკეთებ სხვა ცხრილს, სადაც 1 = წითელი, 2 = ყვითელი და 3 = მწვანე. ამ გზით მხოლოდ ერთხელ ვწერ წითელს, ყვითელსა და მწვანეს. ჩემი მანქანის თითოეულ კარს აქვს იგივე კარის სახელური. ერთი სახელური, რომელიც გამოიყენება 4 სხვადასხვა ადგილას და არა 4 სხვადასხვა სახელური.
  6. Ობიექტზე ორიენტირებული - თანამედროვე პროგრამირების ენებში, ეს არის დიზაინის მეთოდი, რომლის საშუალებითაც შეგიძლიათ დაწეროთ კონკრეტული კოდი ნაწილებად, ფუნქციონირების მიხედვით და შემდეგ გამოიყენოთ მათი გამოყენება. მაგალითად ის იქნება, თუ მსურს შეამოწმო სწორად აგებული ელ.ფოსტის მისამართი. მე შემეძლო ერთხელ ავაშენო ფუნქცია და შემდეგ გამომეყენებინა იქ, სადაც მე დამჭირდება. ჩემს მანქანას აქვს 18 ″ დისკი, რომლის გამოყენება შესაძლებელია სხვა მანქანებზე იმავე ან სხვა მწარმოებლების მიერ.
  7. პოლიმორფიზმი - ეს რთულია ასახსნელად, მაგრამ ძირითადად ეს არის კოდის შემუშავების შესაძლებლობა, რომელიც შეიძლება გამოყენებულ იქნას დინამიურად სხვა სიტუაციებისთვის. სხვა სიტყვებით რომ ვთქვათ, მას შეუძლია დაიმკვიდროს უნიკალური და დინამიური ფუნქციონალური ფუნქცია, უბრალოდ მისი მითითების გზით. ეს განვითარების ძალიან ეფექტური საშუალებაა. მე შემიძლია გამოვიყენო ჩემი მანქანის ელექტროგადამცემი ხაზი ჩემი ტელეფონის დასატენად ან საბურავის ტუმბოს წვენის მისაწოდებლად.
  8. Recursion - ეს არის მეთოდი, სადაც კოდი თავად მიუთითებს. ზოგჯერ ეს ეფექტური და მიზანმიმართულია, მაგრამ სხვა დროს შეიძლება თქვენი პროგრამები კონტროლიდან გამოვიდეს. მე ვაჭერ ძებნას ჩემი მანქანის სტერეოზე და ის მიდის რადიოსადგურებში. ის არასდროს სრულდება, უბრალოდ გრძელდება.
  9. გადამამუშავებელი - ეს არის კოდის ხელახლა ჩაწერის პროცესი, რათა გაუადვილოს თვალყური ან უკეთესად ორგანიზება, მაგრამ სულაც არ არის დამატებითი ფუნქციონალური დამატება. მე ვაშენებ ჩემს ძრავას.
  10. სერვერზე ორიენტირებული არქიტექტურა (SOA) - აიღეთ ობიექტზე ორიენტირებული პროგრამირება და გამოიყენეთ იგი დიდ სისტემებზე, სადაც შეგიძლიათ გქონდეთ მთელი სისტემები, რომლებიც ასრულებენ გარკვეულ ფუნქციებს. შეიძლება გქონდეთ მომხმარებელთან ურთიერთობის მართვის სისტემა, რომელიც საუბრობს ელექტრონულ კომერციულ სისტემაზე, რომელიც საუბრობს გადაზიდვის სისტემაზე და ა.შ. ჩემი მანქანით ტრაილერს ვწევ, რომ ნივთები ერთი ადგილიდან მეორეზე გადავიტანო. მათ დასაკავშირებლად მე ვიყენებ ბილიკს (XML).

ვხვდები, რომ ჩემი მეტაფორები ყოველთვის არ იყო მიზანმიმართულად. იმედი მაქვს, რომ ისინი ცოტათი დაეხმარნენ!

რამდენიმე რჩევა, როდესაც დეველოპერსთან თქვენი შემდეგი შეხვედრისას ეს სიტყვები მოისმენთ… ნუ მიუბრუნდებით თქვენს ადგილს და დააკვირდით მათ Wikipedia, ისინი დააკვირდებიან. არ იკლაკნოთ, ისინი თავს დაესხმიან. აი რა უნდა გააკეთოს… დაფიქრდით ფანჯრიდან ისე, თითქოს ღრმად ფიქრობთ და შემდეგ ცნობისმოყვარე მზერით გადახედეთ ან ნიკაპი გაიკაწროთ. დაელოდეთ, რომ მათ დეკლარაციას მიჰყვებიან დამატებითი ინფორმაციისთვის.

'Re ისინი უყურებენ.

8 კომენტარები

  1. 1

    LOL თქვენ მართლაც მიამაგრეთ ის Doug 🙂 ცდილობთ რომ ჩვენი საქმიანობა გამოვყოთ? თქვენ კარგად იცით, რომ ჩვენ კარგად ვცდილობთ იმ კონცეფციების გაგებას, რომლებიც არ არის გაგებული და, შესაბამისად, ჩვენს კლიენტებთან გვაქვს გზა. ახლა ჩვენ უნდა გავარკვიოთ, თუ როგორ შეიძლება მათი აფეთქება აერთიანებს ეს სიტყვები ერთი გიგანტური ფრაზის შესაქმნელად, რომელიც შეიძლება ასე გამოიყურებოდეს:

    თქვენ იცით, რომ თვისება, რომლის ჩასმასაც ცდილობთ, შეიძლება გამოყენებულ იქნას მრავალი ობიექტისთვის, რომლებიც ათავსებენ ფუნქციონირებას და კომუნიკაციას ახორციელებენ მომსახურებაზე ორიენტირებული არქიტექტურის საშუალებით.

  2. 5

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.