Нашар кодты жазудың көптеген жолдары бар. Бақытымызға орай, сапа кодының деңгейіне көтерілу үшін сізге 15 ережені сақтау жеткілікті. Оларды ұстану сізді шеберге айналдырмайды, бірақ бұл сізге сенімді түрде еліктеуге мүмкіндік береді.

1-ереже: кодтау стандарттарын орындаңыз.

Әрбір программалау тілінде кодты пішімдеудің өзіндік стандарты бар, ол шегініс жасауды, бос орындар мен жақшаларды қай жерге қоюды, объектілерді қалай атауды, кодқа түсініктеме беруді және т.б.

Мысалы, осы код бөлігінде стандартқа сәйкес 12 қате бар:

үшін(i=0;i

Стандартты мұқият оқып шығыңыз, негіздерді жатқа үйреніңіз, өсиеттер сияқты ережелерді орындаңыз және сіздің бағдарламаларыңыз колледж түлектерінің көпшілігі жазғаннан жақсы болады.

Көптеген ұйымдар стандарттарды өздерінің нақты қажеттіліктеріне сәйкес келтіреді. Мысалы, Google 12-ден астам бағдарламалау тілдерінің стандарттарын әзірледі. Олар жақсы ойластырылған, сондықтан Google арқылы бағдарламалауға көмек қажет болса, оларды тексеріңіз. Стандарттар тіпті стильді ұстануға көмектесетін редактор параметрлерін және кодтың осы стильге сәйкестігін тексеруге арналған арнайы құралдарды қамтиды. Оларды пайдаланыңыз.

2-ереже: Сипаттама атауларды беріңіз.

Баяу, икемді телетайп машиналарымен шектелген бағдарламашылар ежелгі уақытта уақытты, пернелерді басуларды, сия мен қағазды үнемдеу үшін айнымалылар мен процедура атауларына арналған келісімшарттарды пайдаланды. Бұл мәдениет кейбір қауымдастықтарда кері үйлесімділікті сақтау үшін бар. Мысалы, Wcscspn (кең таңбалар жолын толықтыру аралығы) тілді бұзатын C функциясын алайық. Бірақ бұл тәсіл қазіргі кодта қолданылмайды.

Сізге және сіздің әріптестеріңізге болашақта кодыңызды түсінуге көмектесу үшін complementSpanLength сияқты ұзын, сипаттамалы атауларды пайдаланыңыз. Ерекшеліктер цикл итераторлары, параметрлер, уақытша мәндер немесе орындалу нәтижелері сияқты әдіс денесінде пайдаланылатын бірнеше маңызды айнымалылар болып табылады.

Бір нәрсені атамас бұрын көп ойлану әлдеқайда маңызды. Аты нақты ма? Ең жақсы бағаның орнына ең жоғары бағаны білдірдіңіз бе? Атау ұқсас нысандар үшін басқа контексттерде пайдаланылмау үшін жеткілікті түрде ерекше ме? getBest орнына getBestPrice әдісін шақырған дұрыс емес пе? Бұл басқа ұқсас атауларға қарағанда жақсырақ сәйкес келеді ме? ReadEventLog әдісі болса, басқа NetErrorLogRead шақырмауыңыз керек. Функцияны атасаңыз, атау қайтаратын мәнді сипаттай ма?

Соңында, бірнеше қарапайым атау ережелері. Класс және түр атаулары зат есім болуы керек. Әдіс атауында етістік болуы керек. Егер әдіс объект туралы кейбір ақпараттың ақиқат немесе жалған екенін анықтаса, оның аты «is» деп басталуы керек. Нысандардың қасиеттерін қайтаратын әдістер «get» деп басталуы керек, ал сипат мәндерін орнататын әдістер «set» деп басталуы керек.

3-ереже: Түсініктеме және құжат.

Әрбір әдіс пен процедураны әдіс немесе процедура не істейтінін, оның параметрлерін, қайтарылатын мәнін және ықтимал қателер мен ерекше жағдайларды сипаттайтын түсініктемеден бастаңыз. Түсініктемелерде әрбір файл мен сыныптың рөлін, әрбір сынып өрісінің мазмұнын және күрделі кодтың негізгі қадамдарын сипаттаңыз. Кодты әзірлеу кезінде түсініктемелер жазыңыз. Оларды кейін жазамын деп ойласаңыз, өзіңізді алдайсыз.

Бұған қоса, қолданбаңызда немесе кітапханаңызда кодтың не істейтінін түсіндіретін, оның тәуелділіктерін анықтайтын және оны құру, сынау, орнату және пайдалану нұсқауларын беретін нұсқаулық бар екеніне көз жеткізіңіз. Құжат қысқа және ыңғайлы болуы керек; қарапайым README файлы жиі жеткілікті.

4-ереже. Өзіңізді қайталамаңыз.

Ешқашан кодты көшіріп, қоймаңыз. Оның орнына, жалпы бөлікті әдіске немесе сыныпқа (немесе қажет болса, макросқа) оқшаулап, оны сәйкес параметрлермен пайдаланыңыз. Ұқсас деректер мен код бөліктерін пайдаланудан аулақ болыңыз. Сондай-ақ келесі әдістерді қолданыңыз:

  • Javadoc және Doxygen көмегімен түсініктемелерден API сілтемелерін жасаңыз.
  • Аннотацияларға немесе атау конвенцияларына негізделген бірлік сынақтарын автоматты түрде жасау.
  • Бір тегтелген көзден PDF және HTML жасаңыз.
  • Дерекқордан сынып құрылымын шығарып алу (немесе керісінше).

5-ереже: Қателерді тексеріңіз және оларға жауап беріңіз.

Әдістер қате белгілерін қайтаруы немесе ерекше жағдайларды шығаруы мүмкін. Оларды өңдеңіз. Диск ешқашан толтырылмайтынына, конфигурация файлыңыз әрқашан сонда болады, қолданбаңыз барлық қажетті құқықтармен жұмыс істейді, жадты бөлу сұраулары әрқашан сәтті болады немесе қосылымыңыз ешқашан үзілмейді деп сенбеңіз. Иә, қателерді жақсы өңдеуді жазу қиын және кодты ұзағырақ және оқуды қиындатады. Бірақ қателерді елемеу мәселені кілемнің астына түсіреді, мұнда бейтаныс пайдаланушы бір күні оны табады.

6-ереже: Кодыңызды қысқа, дискретті бөліктерге бөліңіз.

Әрбір әдіс, функция немесе код блогы әдеттегі экран терезесіне (25-50 жол) сәйкес келуі керек. Егер ол ұзағырақ болса, қысқа бөліктерге бөліңіз. Әдістің өзінде ұзын кодты блоктарға бөліңіз, олардың мәнін әр блоктың басындағы түсініктемеде сипаттауға болады.

Сонымен қатар, әрбір сынып, модуль, файл немесе процесс белгілі бір тапсырма түрін орындауы керек. Егер код бөлігі мүлдем басқа тапсырмаларды орындаса, оны сәйкесінше бөліңіз.

7-ереже. API интерфейстерін және үшінші тарап кітапханаларын пайдаланыңыз.

Framework API арқылы қандай мүмкіндіктер қолжетімді екенін зерттеңіз. сондай-ақ жетілген үшінші тарап кітапханалары не істей алады. Егер кітапханаларға жүйелік пакет менеджері қолдау көрсетсе, олар жақсы таңдау болуы мүмкін. Дөңгелекті қайта ойлап табуға деген құштарлықты болдырмайтын кодты пайдаланыңыз (және бұл жерде пайдасыз шаршы).

8-ереже: артық дизайн жасамаңыз.

Тек қазір маңызды нәрсені жобалаңыз. Кодты тым күрделі болмайынша, одан әрі дамытуды қолдау үшін жеткілікті жалпылай аласыз. Тіпті жоқ мәселелерді шешу үшін параметрленген сыныптарды, зауыттарды, терең иерархияларды және жасырын интерфейстерді жасамаңыз - ертең не болатынын болжай алмайсыз. Екінші жағынан, кодтың құрылымы тапсырмаға сәйкес келмесе, оны қайта өңдеуден тартынбаңыз.

9-ереже: дәйекті болыңыз.

Дәл сол әрекеттерді дәл осылай жасаңыз. Функционалдылығы бұрыннан бар әдіске ұқсас әдісті жасап жатсаңыз, ұқсас атауды, ұқсас параметр ретін және ұқсас дене құрылымын пайдаланыңыз. Бұл сабақтарға да қатысты. Ұқсас өрістер мен әдістерді жасаңыз, оларға ұқсас интерфейстер беріңіз және жаңа атауларды ұқсас сыныптардағы барлармен сәйкестендіріңіз.

Сіздің кодыңыз жүйеңіздің конвенцияларына сәйкес болуы керек. Мысалы, диапазондарды жартылай ашық ету жақсы тәжірибе: сол жақта жабық (қоса алғанда) (диапазонның басында) және оң жақта (соңында) ашық (ерекше). Егер белгілі бір іс бойынша келісімдер болмаса, таңдау жасаңыз және оны фанатизммен ұстаныңыз.

10-ереже: Қауіпсіздік мәселелеріне жол бермеңіз.

Қазіргі код сирек оқшауланып жұмыс істейді. Оның шабуыл нысанасына айналу қаупі бар. Олардың интернеттен келуі міндетті емес; шабуыл қолданбаңыздың кіріс деректері арқылы болуы мүмкін. Бағдарламалау тілі мен доменіңізге байланысты сізге буфердің толып кетуі, торапаралық сценарийлер, SQL инъекциясы және басқа ұқсас мәселелер туралы алаңдау қажет болуы мүмкін. Осы мәселелерді зерттеп, оларды кодыңызда болдырмаңыз. Бұл қиын емес.

11-ереже: тиімді деректер құрылымдары мен алгоритмдерін пайдаланыңыз.

Қарапайым кодты сақтау бірдей кодқа қарағанда оңайырақ, бірақ тиімділік үшін өзгертілген. Бақытымызға орай, жүйе қамтамасыз ететін деректер құрылымдары мен алгоритмдерін пайдаланып, техникалық қызмет көрсету мен тиімділікті біріктіре аласыз. Карта, жиын, вектор және олармен жұмыс істейтін алгоритмдерді пайдаланыңыз. Бұл кодты тазарақ, жылдамырақ, масштабталатын және жадты тиімдірек етеді. Мысалы, сұрыпталған жиында мың мәнді сақтасаңыз, қиылысу операциясы миллион салыстыру емес, бірдей әрекеттер санындағы басқа жиыны бар ортақ элементтерді табады.

12-ереже. Бірлік сынақтарын пайдаланыңыз.

Заманауи бағдарламалық жасақтаманың күрделілігі оны орнатуды қымбаттатады және тестілеуді қиындатады. Өнімді тәсіл кодтың әрбір бөлігін оның жұмысының дұрыстығын тексеретін сынақтармен сүйемелдеу болады. Бұл тәсіл жөндеуді жеңілдетеді, себебі ол қателерді ертерек анықтауға мүмкіндік береді. Python және JavaScript сияқты динамикалық терілген тілдерде бағдарламалау кезінде бірлікті тестілеу қажет, өйткені олар тек орындау уақытында қателерді ұстайды, ал Java, C# және C++ сияқты статикалық терілген тілдер олардың кейбірін орындау уақытында ұстай алады уақыт. Бірлік тестілеуі кодты сенімді түрде қайта өңдеуге мүмкіндік береді. Тесттерді жазуды жеңілдету және олардың орындалуын автоматтандыру үшін XUnit қолданбасын пайдалануға болады.

13-ереже: Кодыңызды портативті ұстаңыз.

Белгілі бір себеп болмаса, тек белгілі бір платформада қолжетімді функционалдылықты пайдаланбаңыз. Белгілі бір ұзындыққа (мысалы, 32 бит) ие болу үшін белгілі бір деректер түрлеріне (мысалы, бүтін сандар, көрсеткіштер және уақыт белгілері) сенбеңіз, себебі бұл параметр әртүрлі платформаларда әр түрлі болады. Бағдарлама хабарламаларын кодтан бөлек сақтаңыз және мәдениетке тән параметрлерді (ондық бөлгіштер немесе күн пішімдері сияқты) қатаң кодтамаңыз. Конвенциялар кодтың әртүрлі елдерде жұмыс істеуін қамтамасыз ету үшін қажет, сондықтан локализацияны мүмкіндігінше ауыртпалықсыз етіңіз.

14-ереже: Кодыңызды құрастыруға болатын етіп жасаңыз.

Қарапайым пәрмен сіздің кодыңызды таратуға дайын пішінге жинауы керек. Пәрмен қажетті сынақтарды жылдам құруға және іске қосуға мүмкіндік беруі керек. Осы мақсатқа жету үшін Make, Apache Maven немесе Ant сияқты автоматтандырылған құрастыру құралдарын пайдаланыңыз. Ең дұрысы, код өзгерген сайын оны тексеретін, құрастыратын және сынайтын интеграциялық жүйені орнату керек.

15-ереже: Барлығын нұсқаны басқаруға қойыңыз.

Сіздің барлық элементтеріңіз - код, құжаттама, құрал көздері, құрастыру сценарийлері, сынақ деректері - нұсқаны басқаруда болуы керек.

Оны адам оқи алады. Жалпылама мағынада – аудармашы үшін кез келген кіріс деректері. Бастапқы код келесіге аударылады орындалатын кодтолығымен компилятор арқылы бағдарламаны іске қоспас бұрын немесе аудармашы арқылы бірден орындалуы мүмкін.

Энциклопедиялық YouTube

    1 / 3

    Ғылыми шоу. 33-шығарылым. Ғылыми фильмдер 2

    Бағдарламалау негіздері: Бастапқы код

    1-сұрақтарға жауаптар: Бастапқы код

    Субтитрлер

Мақсат

Бастапқы код нысан кодын жасау үшін пайдаланылады немесе аудармашы арқылы орындалады. Өзгерістер ешқашан нысандық кодқа жасалмайды, тек бастапқы кодқа, содан кейін қайтадан нысан кодына түрлендіріледі.

Бастапқы кодтың тағы бір маңызды мақсаты бағдарламаның сипаттамасы болып табылады. Бағдарлама мәтініне сүйене отырып, оның әрекетінің логикасын қайта құруға болады. Түсініктемелер бастапқы кодты түсінуді жеңілдету үшін пайдаланылады. Сондай-ақ бастапқы код құжаттамасын автоматты түрде алуға мүмкіндік беретін құралдар бар - деп аталатындар. құжаттама генераторлары.

Сонымен қатар, бастапқы кодтың басқа да көптеген қолданылуы бар. Оны оқыту құралы ретінде пайдалануға болады; Жаңадан бастаған бағдарламашыларға бағдарламалау әдістері мен әдістемесін үйрену үшін бар бастапқы кодты зерттеу пайдалы болуы мүмкін. Ол сонымен қатар қысқа және бір мағыналы сипатына байланысты тәжірибелі бағдарламашылар арасындағы байланыс құралы ретінде қолданылады. Әзірлеушілер арасында кодты бөлісу бағдарламашы тәжірибесін жақсартуға ықпал ететін фактор ретінде жиі айтылады.

Бағдарламашылар көбінесе бастапқы кодты (модульдерде, сол күйінде немесе бейімделуімен) бір жобадан екіншісіне ауыстырады, бұл кодты қайта пайдалану деп аталады.

Бастапқы код бағдарламалық жасақтаманы басқа платформаларға тасымалдау процесінің маңызды құрамдас бөлігі болып табылады. Кез келген бағдарламалық құралдың бастапқы коды болмаса, тасымалдау тым қиын немесе мүлдем мүмкін емес.

Ұйымдастыру

Бағдарламалық қамтамасыз етудің кейбір бөлігінің (модуль, құрамдас) бастапқы коды бір немесе бірнеше файлдардан тұруы мүмкін. Бағдарлама коды міндетті түрде тек бір бағдарламалау тілінде жазылмайды. Мысалы, көбінесе Си тілінде жазылған бағдарламалар оңтайландыру мақсатында ассемблер тілінің кодын енгізуді қамтиды. Сондай-ақ бағдарламаның кейбір құрамдас бөліктері немесе бөліктері әртүрлі тілдерде жазылуы мүмкін, содан кейін кітапхананы байланыстыру деп аталатын әдіс арқылы бір орындалатын модульге біріктіріледі ( кітапхананы байланыстыру).

Күрделі бағдарламалық қамтамасыз ету ондаған, тіпті жүздеген бастапқы код файлдарын құрастыруды талап етеді. Мұндай жағдайларда құрастыруды жеңілдету үшін әдетте бастапқы код файлдары арасындағы тәуелділіктердің сипаттамасын қамтитын және құрастыру процесін сипаттайтын жоба файлдары пайдаланылады. Бұл файлдарда компилятор мен дизайн ортасына арналған опциялар да болуы мүмкін. Әртүрлі дизайн орталары үшін әртүрлі жоба файлдары пайдаланылуы мүмкін, ал кейбір орталарда бұл файлдар мәтіндік форматта болуы мүмкін, басқа орталарда әмбебап мәтіндік редакторларды пайдаланып бағдарламашы тікелей өңдеуге жарамды, арнайы пішімдерге қолдау көрсетіледі және жасау және файлдарды өзгерту арнайы құралдар бағдарламалары арқылы жүзеге асырылады. Жоба файлдары әдетте «бастапқы код» терминіне кіреді. Бастапқы код көбінесе бағдарламаны құруға қажетті графика сияқты әртүрлі деректерді қамтитын ресурс файлдарына сілтеме жасайды.

Бастапқы кодпен жұмыс істеуді жеңілдету және бағдарламашылар тобына кодпен жұмыс істеуге мүмкіндік беру үшін нұсқаларды басқару жүйелері қолданылады.

Сапасы

Адамдардан айырмашылығы, компьютер үшін «жақсы жазылған» немесе «нашар жазылған» код жоқ. Бірақ кодтың жазылуы бағдарламалық жасақтамаға техникалық қызмет көрсету процесіне үлкен әсер етуі мүмкін. Бастапқы кодтың сапасын келесі параметрлер бойынша бағалауға болады:

  • кодты оқу мүмкіндігі (бар болуын қоса

Бала кезімнен компьютермен жұмыс істеп, бағдарламашы болуды армандадым. Ол кезде мен оның не екенін білмедім, бірақ маған жалпы атмосфера ұнады. Мен мектептегі бағдарламалау үйірмесіне бардым, бірақ бұл маған көп нәрсе бермеді: біз кейбір формулаларды есептеуді үйрендік, мен көршімнен бағдарламаларды үнемі көшірдім, бұл қызықты болмады.

Дамуға серпін Эрик С.Рэймондтың 1998 жылы жазған «Қалай хакер болуға болады?» деген мақаласын оқудан туды. (Қалай хакер болуға болады). Мен мақаланы басшылыққа ала бастадым және бәрі жазылғандай болды. Мен әлі күнге дейін қайталап оқитын таңғажайып рухты шығарма.

Мен Linux-ты орнатып, қабықшаны, құбырларды және автоматтандырудың басқа да кішкентай қуаныштарын түсінуге тырысып, оны зерттей бастадым. Оны түсінгеннен кейін, сіз кейбір Windows құрылғыларында ыңғайсыз және шектеулі сезінесіз.

Мен бағдарламалау тілдерін зерттей бастадым және қарапайым бағдарламалар жаздым - бұл қажет болғандықтан емес, өте қызықты болғандықтан. Әрбір программист бастан кешірген ерекше, керемет сезім бар - жасау мүмкіндігін сезіну. Жаңа тірі жасушаны алыңыз және жасаңыз - және ол қарабайыр заң бойынша өмір сүрсін, оның ақыл-ойы жоқ, ал қолдар мен аяқтардың орнына экранда тіктөртбұрыш пен пернетақта бар. Сонда сіз Құдай екеніңізді түсінесіз!

Компьютер ғалымдары, жүйелік әкімшілер, enikey мамандары

Жүйе әкімшілері күрделі бағдарламаларды конфигурациялайды, өзара әрекеттеседі және олардың жұмысын қолдайды. Бағдарламалар оңай істен шығуы мүмкін арнайы компьютерлерде – серверлерде жұмыс істейді.

Сонымен қатар, әртүрлі бағдарламалар әртүрлі ресурстарды әртүрлі жылдамдықпен тұтынады - жүйелік әкімшінің міндеттеріне тиімді жұмыс істеу үшін серверлерді дұрыс конфигурациялау кіреді. Сондай-ақ жүйе әкімшісі кейбір бұзақылар қиындық тудырмауы үшін қауіпсіздікті мұқият бақылауға міндетті.

Жұмыс оңай емес, егер машиналар өте көп болса (Google немесе ВКонтакте қанша сервері бар елестетіңіз), онда жауапкершілік өте үлкен - жүйелік әкімші жұмыс кезінде бағдарламашыдан екі есе көп табыс табуы оңай болуы мүмкін. сол компанияда.

Enikey адамдар - «кез келген пернені басыңыз» дегеннен бастап, олар да компьютер ғалымдары. Бұл сіз үшін Windows жүйесін қайта орнататын, жүйеңізді вирустардан тазартатын және антивирустарды орнататын, қатты дискілерді қалпына келтіретін және драйверлерді орнататын адамдар. Тұтастай алғанда, олар кез келген озық пайдаланушы жасай алатынның бәрін жасайды, басқа ештеңе жоқ.

Бағдарламашылар - бұл бағдарламаларды жазатындар. Олар шын мәнінде жаңа кодты жасайды. Біз бірінші де, екінші де емеспіз. Өтінемін, шатастырмаңыз, бұл бізді ешқашан ренжітеді.

Университет

Мен университетке (IKBFU, Математика факультеті) шыдамсыздықпен түстім - ақыр соңында олар маған бағдарламалауды үйретеді, мен нағыз программист болар едім, өте күрделі нәрселерді жасай алатын едім. Бірақ бұл жерде менің көңілім қалды – бағдарламалау аз және нашар оқытылды, мен мектептен жартысынан көбін білдім, ал қалғанын қажет болған жағдайда өз бетімше оңай үйренетінмін.

Бірінші жылы бізде алғашқыда математикаға толы болды, ал сәл кейінірек нақты мәмілеге қол жеткіземіз деген үміт әлі де болды. Бірақ бұдан былай иллюзиялар қалмады, мен сабақты үнемі жібере бастадым. Жұпқа барудың орнына мен жаңа қызықты технологиямен, жаңа бағдарламалау тілімен немесе кітапханамен, фреймворкпен айналыстым.

Бұл менің оқудан шығарылуыммен аяқталды деп болжау қиын емес, бірақ мен мүлдем өкінбеймін. Білімсіз программист болып жұмыс істеуге әбден болады, мен мұны табысқа жеткіземін.

Жалпы, мен білім пайдасыз деп айта алмаймын - жақсы математикалық минимум (сызықтық алгебра, математикалық логика, дискретті математика, ықтималдықтар теориясы, математика, ақыр соңында!) пайдалы болады. Бірақ қалғандары ешнәрсе бермей уақытыңызды жейді.

Бағдарлама коды қалай көрінеді

Кез келген бағдарлама, мүлде КЕЗ КЕЛГЕН бағдарлама (графикалық редактор, браузер, операциялық жүйе, сіздің бейне картаңызға арналған драйвер) процессормен орындалатын арнайы тілдегі дәйекті нұсқаулардан тұрады. Бұл машина тілі деп аталады. Бірақ машина тілі өте қарабайыр, тіпті бағдарламашылар үшін бұл тілде өз идеяларын білдіру өте қиын және егжей-тегжейлі. Сондықтан әртүрлі бағдарламалау тілдері бар - бай және мәнерлі тілдер. Дәл сол нұсқаулар, бірақ әлдеқайда күрделі логикамен және қосымша сақтандырумен.

Код - бұл белгілі бір бағдарламалау тілінде жазылған жай ғана мәтін. Сондықтан бағдарламаларды ең кең тараған мәтіндік редакторда жазуға болады (иә, Windows жүйесіндегі блокнот).

Көптеген бағдарламалау тілдері бар - олар әртүрлі отбасыларды, стильдерді, мектептерді құрайды және олардың жақтастары үнемі бір-бірімен айтысады. Олар (тілдер) оларды пайдаланатын программисттің ойлау тәсілін анықтайды.

«Сіз не жазасыз?» Деген сұрақ. «Сіз қайда қызмет еттіңіз?» дегенге ұқсас естіледі. Қолданылатын бағдарламалау тілі бағдарламашы ретінде адам туралы көп нәрсені айтады.

Бағдарламашылардың барлығы ақылды және математиканы жақсы біледі.

Жалпы, бағдарламашы математиканы жақсы білуі міндетті емес, бұл оның жұмыс істейтін саласына байланысты. Бірақ мүлдем жаңа нәрселерді жасау (мәтінді тану, Интернетте іздеу, әдемі компьютерлік графиканы кім ойлап тапты?) жиі жақсы математикалық дайындықты қажет етеді.

Ал бағдарламашы «ақылды» болуы міндетті емес. Егжей-тегжейге және жалпы сәйкестікке ең қарапайым назар аудару жеткілікті. Бағдарламалауда ерекше сиқыр жоқ. Lego-дан қала немесе Minecraft-та құлып салудан қиын емес.

Мысалы, білімі бойынша анестезиолог Кон Коливас сияқты кенеттен бағдарламашы болып, операциялық жүйелерді жазуға үлес қосқан адам бар. Ешқандай білімсіз мен бос уақытымда бағдарламалаумен айналыстым.

Ең бастысы, әрине, шу. Күрделі заттарды зерттеу мен салудан ләззат, толқуды табу маңызды. Сіз оны ұстай салысымен, ол сізді жаңа ерліктер мен ашылулар үшін артқы жел сияқты зарядтайды.

Православие, канондық

Егер сіз Google-ге «бұл православие» деп терсеңіз, бірінші немесе екінші бетте «STL бастау/аяқтау/итератор контейнерінің интерфейсін сыртқа жылжыту православиелік пе?» сияқты техникалық талқылауға сілтемелерді табасыз. немесе «Slapt-get пайдаланыңыз - бұл православие ме?»

Күлкілі, иә?

Математикадағы сияқты, бағдарламалауда қарапайым және әдемі шешімдерге артықшылық беріледі, күрделілік қатаң айыпталады. Ал егер мұндай қарапайым және әдемі шешім қандай да бір мәселе үшін әзірленген болса, онда ол православиелік немесе канондық деп аталады.

Ағылшын тілі

Барлығы дерлік жазбаша тілде сөйлейді. Бірақ сөйлесу мүлдем қажет емес. Мысалы, мен екі жыл бойы мен қалай айтылу керектігін білмейтін сөзді қолдандым.

Орыс тіліндегі техникалық құжаттама ешкімге керек емес болып шықты. Аударма біткенше ескірген болса, оны неге аудару керек? Және бәрі әлі түпнұсқада оқиды.

Сондықтан жаңадан бастағандар түкіреді, содан кейін ағылшын тілінде оқи бастайды. Сонымен қатар, ағылшын тілі барлық бағдарламашыларға ортақ халықаралық терминологияны тудырады. Көбінесе кейбір терминдердің әлі де орыс тіліне аударудың қабылданған стандарты жоқ екені белгілі болды. Сондықтан: «Бұтақтарды біріктіріп, қақтығыстарды шешіңіз» деген шедеврлер бар.

Жалақылар

Жастар көп ақша тауып, бағдарламашы мамандығын таңдағысы келеді. Егер сіз университетті үздік бітірген болсаңыз да, міндетті түрде жақсы жұмыс таба алмайсыз.

Егер сізде тәжірибе болмаса, кем дегенде бір компанияда тамаққа жұмыс істеуді сұраған дұрыс болар еді (сөзбе-сөз 10-15 рубль), өйткені ештеңе істей алмайтын студентке ешкім артық бермейді.

Мұнда Калининградта орташа тәжірибелі бағдарламашы 30-50 мың рубльге оңай сене алады. Жалпы алғанда, егер сіз орташа болмасаңыз, әлдеқайда көп ақша таба аласыз =). Бірақ бұл үшін сіз үнемі өзіңізден жоғары көтерілуіңіз керек.

Кейбір бағдарламалау тілінде немесе адамдар оқи алатын белгілеу тілінде. Жалпылама мағынада – аудармашы үшін кез келген кіріс деректері. Бастапқы код келесіге аударылады орындалатын кодтолығымен компилятор арқылы бағдарламаны іске қоспас бұрын немесе аудармашы арқылы бірден орындалуы мүмкін.

Мақсат

Бастапқы код нысан кодын жасау үшін пайдаланылады немесе аудармашы арқылы орындалады. Өзгерістер тек түпнұсқаға ғана жасалады, содан кейін нысанға қайта түрлендіру.

Бастапқы кодтың тағы бір маңызды мақсаты бағдарламаның сипаттамасы болып табылады. Бағдарлама мәтініне сүйене отырып, оның әрекетінің логикасын қайта құруға болады. Түсініктемелер бастапқы кодты түсінуді жеңілдету үшін пайдаланылады. Сондай-ақ бастапқы код құжаттамасын автоматты түрде алуға мүмкіндік беретін құралдар бар - деп аталатындар. құжаттама генераторлары.

Сонымен қатар, бастапқы кодтың басқа да көптеген қолданылуы бар. Оны оқыту құралы ретінде пайдалануға болады; Жаңадан бастаған бағдарламашыларға бағдарламалау әдістері мен әдістемесін үйрену үшін бар бастапқы кодты зерттеу пайдалы болуы мүмкін. Ол сонымен қатар қысқа және бір мағыналы сипатына байланысты тәжірибелі бағдарламашылар арасындағы байланыс құралы ретінде қолданылады. Әзірлеушілер арасында кодты бөлісу бағдарламашы тәжірибесін жақсартуға ықпал ететін фактор ретінде жиі айтылады.

Бағдарламашылар көбінесе бастапқы кодты (модульдерде, сол күйінде немесе бейімделуімен) бір жобадан екіншісіне ауыстырады, бұл кодты қайта пайдалану деп аталады.

Бастапқы код бағдарламалық жасақтаманы басқа платформаларға тасымалдау процесінің маңызды құрамдас бөлігі болып табылады. Кез келген бағдарламалық құралдың бастапқы коды болмаса, тасымалдау тым қиын немесе мүлдем мүмкін емес.

Ұйымдастыру

Бағдарламалық қамтамасыз етудің кейбір бөлігінің (модуль, құрамдас) бастапқы коды бір немесе бірнеше файлдардан тұруы мүмкін. Бағдарлама коды міндетті түрде тек бір бағдарламалау тілінде жазылмайды. Мысалы, көбінесе Си тілінде жазылған бағдарламалар оңтайландыру мақсатында ассемблер тілінің кодын енгізуді қамтиды. Сондай-ақ бағдарламаның кейбір құрамдас бөліктері немесе бөліктері әртүрлі тілдерде жазылуы мүмкін, содан кейін кітапхананы байланыстыру деп аталатын әдіс арқылы бір орындалатын модульге біріктіріледі ( кітапхананы байланыстыру).

Күрделі бағдарламалық қамтамасыз ету ондаған, тіпті жүздеген бастапқы код файлдарын құрастыруды талап етеді. Мұндай жағдайларда құрастыруды жеңілдету үшін әдетте бастапқы код файлдары арасындағы тәуелділіктердің сипаттамасын қамтитын және құрастыру процесін сипаттайтын жоба файлдары пайдаланылады. Бұл файлдарда компилятор мен дизайн ортасына арналған опциялар да болуы мүмкін. Әртүрлі дизайн орталары үшін әртүрлі жоба файлдары пайдаланылуы мүмкін, ал кейбір орталарда бұл файлдар мәтіндік форматта болуы мүмкін, басқа орталарда әмбебап мәтіндік редакторларды пайдаланып бағдарламашы тікелей өңдеуге жарамды, арнайы пішімдерге қолдау көрсетіледі және жасау және файлдарды өзгерту арнайы құралдар бағдарламалары арқылы жүзеге асырылады. Жоба файлдары әдетте «бастапқы код» терминіне кіреді. Бастапқы код көбінесе бағдарламаны құруға қажетті графика сияқты әртүрлі деректерді қамтитын ресурс файлдарына сілтеме жасайды.

Бастапқы кодпен жұмыс істеуді жеңілдету және бағдарламашылар тобына кодпен жұмыс істеуге мүмкіндік беру үшін нұсқаларды басқару жүйелері қолданылады.

Сапасы

Адамдардан айырмашылығы, компьютер үшін «жақсы жазылған» немесе «нашар жазылған» код жоқ. Бірақ кодтың жазылуы бағдарламалық жасақтамаға техникалық қызмет көрсету процесіне үлкен әсер етуі мүмкін. Бастапқы кодтың сапасын келесі параметрлер бойынша бағалауға болады:

  • кодты оқу мүмкіндігі (бар болуын қоса

Бүгінгі таңда көптеген компаниялар, сондай-ақ жеке адамдар өздерінің веб-сайтына ие болу қажеттілігін сезінеді, сондықтан Интернет-жобаларды әзірлеу және жылжыту тақырыбы бойынша ақпарат соншалықты сұранысқа ие. Көптеген адамдарды сұрақ қызықтырады - өзіңізді қалай жасауға болады веб-сайт, бағдарлама кодыне үшін ол үйдің іргетасы сияқты? Бұл мәселені веб-әзірлеу тақырыбына ену арқылы түсінуге тырысайық.

Веб-сайт тек мәтіннің, сілтемелердің, суреттердің және түрлі-түсті баннерлер жиынтығы емес, сонымен қатар ол пайдаланушының компьютерінде немесе сервер жағында жұмыс істейтін бағдарлама коды болып табылады. Ал егер бүгінде кез келген адам Интернеттен немесе кез келген танымал графикалық редактордан дайын кескіндерді пайдалана отырып, қажетті ажыратымдылық пен сапада қажетті форматтағы кескіндерді жасай алатын болса, онда сайт кодымаман емес адам үшін бұл айтарлықтай қиындықтарға толы.

Қолданбалардың және тұтастай алғанда интернет-жобаның сапасы сайтты әзірлеуші ​​бағдарламашының шеберлігіне тікелей байланысты, оның бағдарламалық кодында веб-беттерді жүктеу жылдамдығына және бүкіл жұмыстың көптеген басқа аспектілеріне айтарлықтай әсер ететін қателер болуы мүмкін. сайт, соның ішінде қауіпсіздікке қатысты. Сондықтан кодтағы қателерді анықтау және жою кез келген веб-сайтты жасау кезінде міндетті компонент болып табылады. Күрделі корпоративтік веб-сайтты әзірлеуді мамандарға тапсырған дұрыс (егер сіз ондай болмасаңыз), себебі кейбір қателерді анықтау қиын, ал олардың көпшілігі одан әрі браузерлерде веб-беттердің баяу жүктелуіне және дұрыс көрсетілмеуіне әкелуі мүмкін. Интернет пайдаланушыларының компьютерлері. Тым ұзақ жүктеу сайттан келушілердің кетуіне және трафик сапасының төмендеуіне әкелуі мүмкін, бұл коммерциялық интернет-жобаларды пайдаланудың пайдасы мен тиімділігін төмендетеді.

Алдымен HTML және CSS

Веб-құжаттың негізі HTML белгілеу тілінде жазылған код болып табылады. Белгілеу тілін бағдарламалау тілімен шатастырмау керек және нақты айырмашылық неде екендігі егжей-тегжейлі жазылған. Негізінде, HTML сайт әзірлеушісіне ұсынатын пәрмендер жиынтығын пайдалана отырып, сіз статикалық веб-құжаттың барлық қажетті параметрлерін орнатуға болады - элементтердің орналасуы (блокты белгілеу), тақырыптар, абзацтар, кестелер, суреттер және т.б. Ал HTML-ге арналған арнайы қосымша CSS көмегімен барлық аталған белгілеу нысандарын орналастыруға, олардың стилін өзгертуге болады - түсін, өлшемін, пішімін және т.б.

Содан кейін JavaScript

Веб-беттердегі интерактивті және анимациялық элементтер, мысалы, баннерлер, тикерлер, кері байланыс пішіндері сервер немесе клиенттік бағдарламалау тілдерінде жазылған сценарийлер мен кодтардың болуына байланысты жұмыс істейді. JavaScript бағдарламалау тілі арқылы жасалған сценарийлер өте танымал. Мұндай клиенттік сценарийлер өз жұмысында сервердің мүмкіндіктерін пайдаланбайды және пайдаланушы компьютерінің жағында, яғни браузерде орындалады. Бұл JavaScript қолданбаларын қарапайым және жылдам етеді.

Соңында PHP

Күрделі және көлемді кодтарды жазу қажет болғанда, мысалы, форумдар немесе қонақ кітаптары үшін, бағдарламашылар көмек алу үшін серверлік бағдарламалау тілдеріне жүгінеді, атап айтқанда . PHP кодтары сервер жағында орындалады, сондықтан қашықтағы компьютерге қосылу жылдамдығына және оның қаншалықты бос еместігіне байланысты олардың өнімділігі сәл баяу болуы мүмкін. PHP және SQL командаларын (реляциялық мәліметтер қоры үшін арнайы сұрау тілі) пайдалана отырып, веб-сайттың мәліметтер базасымен әрекеттесуін ұйымдастыруға және интерактивті интернет-жобаларды – форумдарды, интернет-дүкендерді, хабарландыру тақталарын, әртүрлі анықтамалықтарды және т.б.

Сайттың негізі бағдарлама коды болып табыладысоңғы рет өзгертілді: 2016 жылдың 3 наурызы Админ