Optimizimi i kodit të programit. Karakteristikat kryesore të optimizimit të kodit nga programuesi dhe përpiluesi

Ju mirëpres, të dashur miq, në faqen e blogut. Shumica e përdoruesve i perceptojnë faqet vetëm nga jashtë, duke vlerësuar dizajnin dhe strukturën, por pas komponentëve të jashtëm tërheqës ka shumë ligje dhe rregulla të brendshme që përcaktohen nga standardet e W3C. Komponentët e brendshëm përfshijnë kodin html dhe stilet CSS (pa funksionalitet të veçantë). Shpesh, webmasterët janë më të shqetësuar për pamjen e faqes. Sidoqoftë, përmbajtja e brendshme e faqeve në formën e kodit html gjithashtu kërkon vëmendje, veçanërisht kur bëhet fjalë për tërheqjen e trafikut të kërkimit.

Optimizimi i mirë i brendshëm i faqes në internet është thelbësor për promovimin e suksesshëm në internet. Sigurisht, optimizimi për motorët e kërkimit përpara promovimit është një pikë e rëndësishme. Promovimi i faqes në internet me lidhje pa optimizim, ai nuk do të jetë efektiv dhe madje mund të dëmtojë duke ulur pjesëmarrjen e tij. Në të njëjtën kohë, është e nevojshme të identifikohen të gjitha problemet dhe mangësitë aktuale, të cilat në çdo fazë mund të anulojnë të gjitha arritjet. Një lidhje e tillë e dobët mund të jetë kodi html i faqes.

Kodi i faqes në internet mund të analizohet duke përdorur vërtetues të ndryshëm. Për vetë-vlerësim, duhet të çaktivizoni skedarët me stile dhe skripta. Kështu i shohin ata robotët e kërkimit. Nëse faqja ngarkohet ngadalë, shfaqet gabimisht dhe motorët e kërkimit nuk mund ta kuptojnë logjikën e faqeve, patjetër që do të ketë probleme me të. Kodi i burimit duhet të përmirësohet.

Optimizimi i kodit të faqes në internet konsiderohet një proces thjesht teknik, i cili bazohet në zvogëlimin e sasisë së kodit të faqes në internet. Është e nevojshme, para së gjithash, për burimet për të cilat motorët e kërkimit janë burimi kryesor i trafikut. Rregulli kryesor është thjeshtësia. Të gjitha stilet dhe skriptet duhet të zhvendosen në skedarë të jashtëm. Kodi duhet të jetë sa më i thjeshtë dhe i kuptueshëm.

Robotët e kërkimit duhet të vlerësojnë shpejt strukturën e faqeve. Prandaj, është më mirë të mos përdorni korniza dhe flush. Këta elementë e bëjnë kodin më të rëndë, duke e bërë atë më kompleks. Vendosni të gjithë elementët e dizajnit në skedarë të stilit css, duke i formatuar ato në sprite. Është thjeshtësia e kodit që përcakton nivelin e rëndësisë së faqes dhe shpejtësinë e indeksimit të faqeve. Për burime të mëdha me trafik të lartë, optimizimi i kodit është një procedurë e detyrueshme. Në të njëjtën kohë, është e nevojshme të optimizohen edhe faqet, madhësia e të cilave nuk është më shumë se 1 MB.

Fazat kryesore të optimizimit të kodit të faqes në internet

  • Theksimi i titujve h1-h6 është robotët e kërkimit në përgjithësi, kështu që mos harroni për formatimin e saktë të tekstit.
  • Zvogëloni madhësinë e kodit - sa më pak kod, aq më lehtë dhe më shpejt ngarkohet faqja. Kohët e fundit, shpejtësia e ngarkimit të faqeve është bërë një faktor i rëndësishëm renditjeje në Google SERP e cila është bërë e ditur zyrtarisht.
  • Heqja kod me qëllim të keq- shumë hoste kanë një seksion antivirus që skanon skedarët e faqes dhe tregon rrugën drejt zgjidhjes së tyre. Mungesa e kodit me qëllim të keq e bën faqen më të preferuar nga motorët e kërkimit.
  • Optimizimi i brendshëm i faqes në internet- krijimi i një teksti unik që mbështet densitetin e kërkuar të fjalëve kyçe.
  • – shpërndan në mënyrë të barabartë peshën e faqes dhe rrit trafikun për pyetjet me frekuencë të ulët, veçanërisht kur shtoni përmbajtje të re.
  • Shtimi i meta etiketave - titulli, fjalë kyçe dhe përshkrimi përdoren nga veprat dhe shfaqen në faqet e rezultateve të kërkimit. Meta etiketat e kompozuara siç duhet rrisin rëndësinë e faqeve dhe tërheqin përdoruesit.
  • Optimizimi i imazhit - çdo imazh duhet të zgjidhet në formatin optimal (GIF, JPEG, PNG dhe PNG-24), si dhe alt dhe titull.

Vlefshmëria e kodit të faqes

Vlefshmëria është konformiteti i kodit me standardet botërore të pranuara përgjithësisht W3C. Jo një kod i vlefshëm i faqes që përmban shumë gabime mund të bëhet pengesë në promovimin e një burimi të caktuar. Nëse jo të gjitha etiketat e çiftuara janë të mbyllura, mund të ketë probleme me shfaqjen e elementeve të dizajnit. Por në realitet, edhe faqet e motorëve më të mëdhenj të kërkimit nuk janë 100% të vlefshme. Cila është arsyeja e kësaj mospërputhjeje?

  • Një shkallë e lartë e intensitetit të punës në standardizimin e sitit dhe nevoja për profesionalizëm të jashtëzakonshëm të zhvilluesit kur vërteton një faqe të madhe dinamike.
  • Kodi html 100% i vlefshëm nuk garanton pajtueshmërinë e ndërshfletuesve dhe gjithashtu nuk siguron kundër gabimeve kur përdorni shfletues të vjetër.

Sidoqoftë, për burime më të vogla, vlefshmëria e kodit html është një bonus i shkëlqyer për renditjen për pyetjet më konkurruese, dhe gjithashtu do të tregojë seriozitetin e burimit.

Optimizimi i fletëve të stilit kaskadë

Ashtu si optimizimi i kodit html, optimizimi i stilit (css) është një ndërmarrje po aq e rëndësishme që anashkalohet nga shumë webmaster. Optimizimi i kodit css gjithashtu shpejton ngarkimin e faqeve të faqes dhe kursen trafikun. Meqenëse skedari css është deri në 100 kb, shumë webmaster nuk e shohin nevojën për ta optimizuar atë, por nëse mendoni se sa trafik kursehet duke optimizuar një skedar në vit, kupton se sa i nënvlerësuar ishte.

Ju mund të optimizoni CSS me dorë ose me ndihmën e shërbimeve speciale. Çdo opsion ka një pengesë. Kur optimizoni manualisht kodin e faqes, mund të humbni shumë nga sytë, ndërsa shpenzoni shumë kohë. Megjithatë, optimizimi i makinës mund të heqë linjat pa të cilat dizajni mund të mos shfaqet siç duhet.

Cilësimi i kodimit

Një tjetër faktor që ndikon promovimi i faqes në internet, është kodimi. Teksti rusisht do të shfaqet saktë vetëm nëse vendosjen e duhur kodime, të tilla si Windows-1251 ose utf-8. Nëse përmbajtja nuk është e koduar saktë, shenjat dhe simbolet do të shtrembërohen, gjë që do të çojë në humbjen e vizitorëve dhe indeksimin e ngadaltë.

Problemet me kodimet janë tipike për burimet e vjetra, ku faqet u krijuan në mjete si Notepad dhe kodi u ruajt në shumë formate të ndryshme. Disa shfletues modern nuk mund të njohë kodime të tilla.

Optimizimi i brendshëm i faqes në internet

Në shumicën e rasteve, optimizimi kompetent i burimeve të brendshme mund ta sjellë sitin në pozicionet më të mira të motorëve të kërkimit pa përpjekje të konsiderueshme dhe të punojë me shkëmbime lidhjesh. Çdo gjë e vogël që ndikon në pozicionin e tij është e rëndësishme. Mundohuni të krijoni një strukturë që është e kuptueshme si për përdoruesit ashtu edhe për Motorë kërkimi. Portalet me shumë faqe duhet të përmbajnë seksione të organizuara në të cilat të gjitha faqet janë jo më shumë se 3-4 klikime larg. Është e dëshirueshme që të përdoren bukëpjekjet dhe adresat e internetit të lexueshme nga njeriu. Fatkeqësisht, jo të gjithë skriptet CMS e kanë këtë funksionalitet.

konkluzioni

Aspekti teknik i promovimit të suksesshëm të faqes në internet zgjidhet nga një kod html i optimizuar. Motorë kërkimi faqet e faqes vlerësohen ndryshe nga përdoruesit, kështu që një kod i pastër dhe i vlefshëm mund të shtyjë burimin tuaj në rezultatet e kërkimit, ku vetëm disa pozicione ndonjëherë janë vendimtare.

Shpresoj se materiali do të jetë i dobishëm për lexuesit e mi të dashur. Abonohuni në përditësimet e blogut. Do të isha mirënjohës për shtypjen e butonave dhe ripostimin e këtij materiali. Shihemi në artikujt e ardhshëm. Fat të gjithëve.

Në këtë faqe unë zakonisht ndaj përvojën time, por ndonjëherë edhe unë vetë kam nevojë për këshilla. Dhe ky artikull i shkurtër do të jetë vetëm nga kjo seri Kalash, pasi problemi është pak më i lartë se kompetenca ime, por duhet zgjidhur. Prandaj, pyetja është deri diku për lexuesit. Por fakti është që Google-i ynë i dashur më tha që kjo faqe ime nuk është e plotë dhe kjo e ngadalëson faqen.

Unë nuk jam programues, siç thonë ata, nuk flas gjuhë. Por çështja duhet të zgjidhet, prandaj e ngrita këtu. Natyrisht, pyetja, megjithëse komplekse, nuk është më e vështirë sesa të kuptosh se çfarë është dhe si ndihmon për të menaxhuar tregtinë.

Si të optimizoni kodin e faqes në internet?

Do të përpiqem ta kuptoj në faqet e blogut tim. Përveç kësaj, nuk do të jetë e mundur të bëni gjithçka menjëherë, por duhet të keni një plan veprimi.

Dua të filloj duke shpjeguar se ku është varrosur qeni. Ndoshta ju, si unë, përdorni një lloj sistemi të menaxhimit të përmbajtjes për faqen tuaj: WordPress, Joomla, Drupal ose diçka tjetër. Këto sisteme janë bërë nga profesionistë dhe ka pak gabime në to.

Por këtu janë shabllonet që shumica prej nesh i marrin nga aksesi i lirë, mëkati me gabime. , veçanërisht ato të lira, bëhen shpesh nga amatorë dhe pasardhësit e tyre nuk janë të përsosur. Dhe ishin gabimet në shabllon që Google i mirë më vuri në dukje. Cilat janë ato?

Google shfaq gabime të veçanta kur ngarkon një sajt nga pajisjet celulare dhe desktopët. Megjithatë, ka një ndryshim. Pra, çfarë gabimesh apo edhe një grup kodi ka në shabllonin tim?

Për kompjuterët:

1. Duhet të rregullohet Ky është një gabim i madh!

Përdorni cache të shfletuesit!
Nëse specifikoni datën ose datën e skadimit të burimeve statike në titujt HTTP, shfletuesi do të shkarkojë burime të marra tashmë më herët nga disku lokal dhe jo nga interneti.
Përdorni cache-in e shfletuesit për burimet e mëposhtme:

Http://avatars-fast.yandex.net/get-direct/nubNH6Z6vqKZZtboVlYcQg/y80 (pa datë skadimi) http://directstat.ru/script (pa datë skadimi) https://prostolinux.ru/karta- saita/ (skadimi nuk është specifikuar) https://prostolinux.ru/prostolinux.png (skadimi nuk është specifikuar) (skadimi nuk është specifikuar) (skadimi nuk është specifikuar) https://prostolinux.ru/wp-content/themes /rockwell_new/rockwell/css /jquery.lightbox-0.5.css (skadimi nuk është specifikuar) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/orange.css (skadimi nuk është specifikuar) https ://prostolinux.ru/wp -content/themes/rockwell_new/rockwell/css/superfish.css (pa datë skadimi) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_body. jpg (pa datë skadimi) https:/ /prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bk_dotted_vert.gif (pa datë skadimi) https://prostolinux.ru/wp-content/themes/ rockwell_new/rockwell/images/bk_menu_orange.jpg (jo Data e skadencës wiya) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/bullet_top.jpg (nuk është specifikuar data e skadimit) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images /ico_date_orange.png (pa datë skadimi) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/topmenu_border_orange.jpg (pa datë skadimi) https://prostolinux.ru/wp-content /themes /rockwell_new/rockwell/js/copy.js (skadimi nuk është specifikuar) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js (nuk është specifikuar) data e skadimit ) https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery.form.js (skadimi nuk është specifikuar) (skadimi nuk është specifikuar) (skadimi nuk është specifikuar) https:// prostolinux.ru/wp -content/themes/rockwell_new/rockwell/style.css (skadimi nuk specifikohet) https://prostolinux.ru/wp-includes/images/smilies/icon_smile.gif (skadimi nuk specifikohet)

Këtu ende nuk e kuptoj fare se cila është periudha e vlefshmërisë dhe ku duhet të tregohet. E dini?

2. Konsideroni Fiksimin

Hiq render-blocking JavaScript dhe CSS nga pjesa e sipërme e faqes.

Numri i skripteve bllokuese për faqe: 1. Numri i burimeve bllokuese të CSS për faqe: 4. Ata ngadalësojnë shfaqjen e përmbajtjes.
E gjithë përmbajtja në krye të faqes shfaqet vetëm pasi të jenë shkarkuar burimet e mëposhtme. Përpiquni të vononi ngarkimin e këtyre burimeve, t'i ngarkoni ato në mënyrë asinkrone ose t'i vendosni vetë komponentë të rëndësishëm direkt në kodin HTML.
Hiq JavaScript që bllokon ekranin:

https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js

Optimizo Puna CSS në burimet e mëposhtme:

https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/style.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/orange.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/jquery.lightbox-0.5.css
https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/css/superfish.css

Këtu problemi është më i qartë, por ende nuk di si ta zgjidh. ngarkuar në server lokal një kopje të faqes për të modifikuar në mënyrë të sigurt kodin. ne do të stërvitemi.

3. Minifikoni JavaScriptështë niveli mesatar i gabimit. Rregullimi i defektit do ta përshpejtojë pak faqen.
Kompresimi i kodit JavaScript ju lejon të zvogëloni sasinë e të dhënave për të shpejtuar ngarkimin, përpunimin dhe ekzekutimin.
Minifikoni kodin JavaScript në burimet e mëposhtme për të zvogëluar madhësinë e tyre me 19,4 KB (46%
Shkurtimi https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery-1.3.2.min.js do të zvogëlojë madhësinë me 14 KB (41%
Shkurtimi https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/js/jquery.form.js do të zvogëlojë madhësinë me 5,4 KB (64%
4. Optimizoni imazhet - kjo është shkalla mesatare e gabimit. Rregullimi i defektit do ta përshpejtojë pak faqen.

Formati dhe kompresimi i duhur i imazheve mund të zvogëlojë madhësinë e tyre.

Optimizoni imazhet e mëposhtme për të zvogëluar madhësinë e tyre me 5 KB (14%
Nëse e kompresoni pa humbje një imazh, ai do të zvogëlojë madhësinë e tij me 2 KB (8%
Nëse e ngjeshni pa humbje imazhin https://prostolinux.ru/wp-content/themes/rockwell_new/rockwell/images/ico_date_orange.png, kjo do të zvogëlojë madhësinë e tij me 1,7 KB (31%
Nëse e ngjeshni pa humbje imazhin http://avatars-fast.yandex.net/get-direct/nubNH6Z6vqKZZtboVlYcQg/y80, kjo do të zvogëlojë madhësinë e tij me 1,3 KB (19%

5. Zvogëloni kohën e përgjigjes së serverit - kjo është një shkallë mesatare gabimi. Rregullimi i defektit do ta përshpejtojë pak faqen.

Sipas rezultateve të testimit, koha e përgjigjes së serverit tuaj ishte 0.24 sekonda. Ky tregues ndikohet nga shumë faktorë. Lexoni praktikat tona më të mira dhe mësoni se si mund të gjurmoni dhe matni kohën e përgjigjes.

Nuk mendova se ishte shumë, por duket se është çështje pritjeje, duhet ta zbuloni atje.
6. Minifikoni HTMLështë niveli mesatar i gabimit. Rregullimi i defektit do ta përshpejtojë pak faqen.
Kompresimi i kodit HTML (përfshirë kodin JavaScript ose CSS në linjë) redukton sasinë e të dhënave për të shpejtuar ngarkimin dhe përpunimin.

Minifikoni kodin HTML në burimet e mëposhtme për të zvogëluar madhësinë e tyre me 1,7 KB (8%
Zvogëlimi i https://prostolinux.ru/kak-usilit-signal-3g-modema/ do të zvogëlojë madhësinë me 1,7 KB (8%

Për celularin:

Këtu të gjitha gabimet janë të njëjta, por me ndryshimin që TË GJITHA JANË SHËNUAR SI KRITIKE!

Çfarë do të thotë? Kjo do të thotë se kur ngarkoni një faqe nga pajisje celulare, gjithçka duhet të jetë shumë më e shpejtë, pasi kanali i Internetit zakonisht është tashmë atje.

Po, nuk thashë se ku më tregoi Google këto gabime. Dhe ai më tregoi ato në panelin e Google Adsense. Ose thjesht mund të shkoni te https://developers.google.com/speed/pagespeed/insights/ dhe të zbuloni se çfarë duhet të rregullohet, sepse nuk është e lehtë të zgjedhësh kodin në sajt, por vetëm duhet ta bësh një herë.

Nëse dini të zgjidhni të paktën disa nga problemet, atëherë do t'ju jem shumë mirënjohës për këshillat tuaja. Ndërkohë, do të gërmoj internetin në kërkim të përgjigjeve për këto pyetje të rëndësishme….

Zgjidhjet.

1. Aktivizoni kompresimin.

Gjëja e parë që bëri të mundur arritjen e menjëhershme të disa përmirësimeve ishte shtimi i kodit në skedar. htaccess, e cila ndodhet në rrënjë të sitit.

SetOutputFilter DEFLATE Header shtoj Vary User-Agent Madhësia e FileETag MTtime ExpiresActive në ExpiresDefault "qasje plus 1 muaj" SetOutputFilter DEFLATE

Siç e kuptoj unë, e gjithë kjo ju lejon të kompresoni të dhënat në anën e serverit. Unë kam shkruar tashmë për këtë më parë, madje kam publikuar kodin, por kësaj mund t'i shtohen disa cilësime të tjera, të cilat përmirësojnë performancën.
2. Hiqni skriptet e panevojshme.

Analiza e faqeve tregoi se disa skripta shabllone po ndërhynin në ngarkimin e faqes. U hoqën disa skripta të formës së mëposhtme nga header.php:

Pas heqjes, faqja funksionoi dhe funksionon, për të cilën ata duheshin dhe nuk e kuptonin. Testi i Google tregoi një nga një, unë fshiva dhe kontrollova. Pasi hoqi njërën, u shfaq tjetra. Kështu që hoqa 4-5 copë dhe gjithçka është në rregull.

Dhe për të përmirësuar efikasitetin. Qëllimet e optimizimit përfshijnë zvogëlimin e sasisë së kodit, sasisë së RAM-it të përdorur nga programi, përshpejtimin e programit dhe reduktimin e numrit të operacioneve I/O.

Kërkesa kryesore që i bëhet zakonisht metodës së optimizimit është që programi i optimizuar duhet të ketë të njëjtin rezultat dhe efekte anësore në të njëjtin grup të dhënash hyrëse si programi i pa optimizuar. Megjithatë, kjo kërkesë mund të mos luajë një rol të veçantë nëse përfitimi nga përdorimi i optimizimit mund të konsiderohet më i rëndësishëm sesa pasojat e ndryshimit të sjelljes së programit.

Llojet e optimizimit

Optimizimi i kodit mund të kryhet si manualisht, nga një programues dhe automatikisht. Në rastin e fundit, optimizuesi mund të jetë ose një mjet i veçantë softuerësh ose i integruar në përpilues (i ashtuquajturi përpilues optimizues). Përveç kësaj, duhet të theksohet se procesorët modernë mund të optimizojnë rendin në të cilin ekzekutohen udhëzimet e kodit.

Ekzistojnë koncepte të tilla si optimizimi i nivelit të lartë dhe i nivelit të ulët. Optimizimet e nivelit të lartë kryhen kryesisht nga një programues, i cili, duke operuar me entitete abstrakte (funksione, procedura, klasa, etj.) dhe duke imagjinuar një model të përgjithshëm për zgjidhjen e një problemi, mund të optimizojë dizajnin e sistemit. Optimizimet në nivelin e blloqeve strukturore elementare të kodit burimor (cithe, degë, etj.) zakonisht quhen gjithashtu një nivel i lartë; disa i veçojnë si nivel të veçantë (“mesatar”) (N. Wirth?). Optimizimi i nivelit të ulët kryhet në fazën e kthimit të kodit burimor në një grup udhëzimesh makine, dhe shpesh kjo fazë i nënshtrohet automatizimit. Sidoqoftë, programuesit e gjuhës së asamblesë besojnë se asnjë makineri nuk mund të mposhtë një programues të mirë në këtë (dhe të gjithë janë dakord që një programues i keq do t'i bëjë makinat edhe më keq).

Zgjedhja e zonës që do të optimizohet

Kur optimizoni kodin manualisht, ekziston një problem tjetër: duhet të dini jo vetëm se si të optimizoni, por edhe ku ta zbatoni atë. Zakonisht, për shkak të faktorëve të ndryshëm (operacionet e ngadalta të hyrjes, ndryshimet në shpejtësinë e operatorit njerëzor dhe makinës, etj.), vetëm 10% e kodit merr deri në 90% të kohës së ekzekutimit (natyrisht, deklarata është mjaft spekulative dhe ka një bazë të dyshimtë në formën e një ligji Pareto, megjithatë, duket mjaft bindës te E. Tanenbaum). Meqenëse kohë shtesë do të duhet të shpenzohet për optimizimin, prandaj, në vend që të përpiqeni të optimizoni të gjithë programin, do të ishte më mirë të optimizoni këto 10% "kritike" të kohës së ekzekutimit. Një pjesë e tillë e kodit quhet bottleneck ose bottleneck, dhe për ta përcaktuar atë, përdoren programe speciale - profilues që ju lejojnë të matni kohën e pjesëve të ndryshme të programit.

Në fakt, në praktikë, optimizimi bëhet shpesh pas fazës "kaotike" të programimit (që përfshin gjëra të tilla si "", "do ta kuptojmë më vonë", "do ta bëjmë gjithsesi"), kështu që është një përzierje e duhur optimizimi, rifaktorimi dhe rregullimi: thjeshtimi i konstrukteve "të zbukuruara" si strlen(path.c_str()), kushtet boolean (a.x != 0 && a.x != 0), etj. Profilerët vështirë se janë të përshtatshëm për optimizime të tilla. Sidoqoftë, për të zbuluar vende të tilla, mund të përdorni programe - mjete për gjetjen e gabimeve semantike bazuar në një analizë të thellë të kodit burimor - në fund të fundit, siç mund ta shihni nga shembulli i dytë, kodi joefikas mund të jetë rezultat i gabimeve (si p.sh. gabime shtypi në këtë shembull - ka shumë të ngjarë, a.x != 0 && a.y != 0). Një i mirë do të zbulojë një kod të tillë dhe do të shfaqë një mesazh paralajmërues.

Dëmi dhe përfitimi i optimizimeve

Pothuajse çdo gjë në programim duhet të trajtohet në mënyrë racionale, dhe optimizimet nuk bëjnë përjashtim. Besohet se një programues montues i papërvojë zakonisht shkruan kodin që është 3-5 herë më i ngadalshëm se kodi i gjeneruar nga përpiluesi (Zubkov). Ekziston një shprehje e njohur për optimizimet e hershme, mjaft të ulëta (si lufta për një operator ose variabël shtesë), të formuluar nga Knuth: "Optimizimi i parakohshëm është rrënja e të gjitha problemeve".

Shumica e njerëzve nuk kanë ankesa për optimizimet e kryera nga optimizuesi, dhe nganjëherë disa optimizime janë praktikisht standarde dhe të detyrueshme - për shembull, optimizimi i rekursionit të bishtit në gjuhët funksionale (Rekursioni i bishtit është një lloj i veçantë rekursioni që mund të reduktohet në formën e një cikli).

Sidoqoftë, duhet kuptuar se optimizime të shumta komplekse në nivelin e kodit të makinës mund të ngadalësojnë shumë procesin e përpilimit. Për më tepër, fitimi prej tyre mund të jetë jashtëzakonisht i vogël në krahasim me optimizimet e dizajnit të përgjithshëm të sistemit (Wirth). Gjithashtu, nuk duhet harruar se gjuhët moderne, sintaksore dhe semantike "të zbukuruara" kanë shumë hollësi, dhe një programues që nuk i merr parasysh ato mund të befasohet nga pasojat e optimizimit.

Për shembull, merrni parasysh gjuhën C++ dhe të ashtuquajturat. Optimizimi i vlerës së kthimit, thelbi i të cilit është që përpiluesi nuk mund të krijojë kopje të objektit të përkohshëm të kthyer nga funksioni. Duke qenë se kompajleri “kapërcen” kopjen në këtë rast, ky truk quhet edhe “Copy elision”. Pra kodi i mëposhtëm:

#përfshi struktura C ( C() () C(konst C&) ( std::cout<< "A copy was made.\n"; } }; C f() { return C(); } int main() { std::cout << "Hello World!\n"; C obj = f(); }

mund të ketë disa opsione daljeje:

Përshendetje Botë! U bë një kopje. U bë një kopje. Përshendetje Botë! U bë një kopje. Përshendetje Botë!

Ironikisht, të tre opsionet janë të ligjshme, pasi standardi i gjuhës lejon që thirrja e konstruktorit të kopjes të hiqet në këtë rast, edhe nëse konstruktori ka efekte anësore (§12.8 Kopjimi i objekteve të klasës, klauzola 15).

Rezultati

Kështu, mos harroni të optimizoni kodin, duke përdorur mjete të specializuara softuerike nëse është e mundur, por kjo duhet bërë me kujdes dhe me kujdes, dhe ndonjëherë të përgatiteni për surpriza nga përpiluesi.

Studio PVS

Lista bibliografike

  • E. Tanenbaum. Arkitektura kompjuterike.
  • Wirth N. Përpiluesit e ndërtesave.
  • Knut D. Arti i Programimit, Vëllimi 1. Algoritmet bazë.
  • Zubkov S.V. Assembler për DOS, Windows dhe UNIX.
  • Wikipedia. optimizimi i kodit.
  • Wikipedia.

Optimizimi i kodit HTML dhe fletëve të stilit të kaskadës (CSS) është i nevojshëm për të përshpejtuar procesin e ngarkimit të faqes dhe përmbajtjes së vendosur në të. Kursimet në kohë dhe trafik, në përgjithësi, pas një periudhe të gjatë kohore pas optimizimit, do të rezultojnë të konsiderueshme, edhe nëse ndryshimi i shpejtësisë nuk është shumë i dukshëm nga jashtë.

Optimizimi i kodit HTML

Në mënyrë që kodi HTML të kontribuojë në ngarkimin e shpejtë të faqes, ai duhet të plotësojë disa kushte:

  • Jini të thjeshtë dhe informues. Pasi ta kontrolloni për vlefshmërinë, duhet të rregulloni gabimet në mënyrë që robotët ta kenë më të lehtë ta analizojnë atë. Kodi duhet të përfaqësojë qartë strukturën e faqes.
  • Komponentët kryesorë të faqeve, të tilla si titujt, indekset, blloqet e informacionit duhet të identifikohen lehtësisht dhe shpejt.
  • Çlirimi i kodit nga informacioni i panevojshëm, vendosja e tij në skedarë të veçantë (për shembull, mund të vendosni CSS dhe JS) do të rrisë shpejtësinë e shkarkimit, gjë që thjeshton edhe punën e robotëve.

Me arritjen e plotësimit të këtyre kushteve, faqja mund të bëhet më e shpejtë, më e përshtatshme dhe efikasiteti i indeksimit të tij nga robotët e motorëve të kërkimit mund të rritet.

Reduktimi i kodit dhe optimizimi i CSS

Mund ta lehtësoni kodin e faqes duke ulur volumin e tij. Për ta bërë këtë, ju duhet të kryeni disa operacione.

Para së gjithash, duhet të shmangni teknologjitë flash, JavaScript, kornizat, tekstin e përfaqësuar nga një foto. Të gjithë elementët, nëse është e mundur, duhet të jepen në skedarë të jashtëm të veçantë (për shembull, CSS dhe JS, siç u përmend më lart). Shtojcat speciale do të ndihmojnë në optimizimin e kodit. Për shembull, mund të instaloni shtesën Autoptimize, e cila optimizon automatikisht kodin HTML, CSS, JS (nëse kontrolloni kutitë e duhura). Është e nevojshme të vendosni një navigim kompetent dhe të përshtatshëm të faqes, i cili do të jetë i kuptueshëm për përdoruesit dhe do të njihet saktë nga motorët e kërkimit. Kjo do të rrisë shpejtësinë, cilësinë e ngarkimit dhe indeksimit të faqes.

Sa i përket optimizimit të CSS, mund ta bëni vetë ose t'ia besoni një burimi ose programi të veçantë. Optimizimi manual është një proces që kërkon kohë dhe kohë, përveç kësaj, mund të humbisni disa gabime. Një program ose shërbim për optimizim do të eliminojë më mirë mangësitë, por mund të prishë disa nga funksionet që kanë funksionuar në sajt dhe pas kontrollit përmbajtja mund të mos shfaqet si duhet, kështu që puna e tyre duhet të korrigjohet.

Disa mënyra për të përmirësuar strukturën CSS me dorë:

  • Hiqni hapësirat shtesë dhe ndërprerjet e rreshtave që mbingarkojnë skedarin CSS dhe e bëjnë të vështirë punën e robotëve;
  • Shkruani vetitë përgjithësuese në vend që të përsërisni komanda të ngjashme disa herë;
  • Përdorni përshkrime koncize dhe të kuptueshme në komente;
  • Shkruani fonte të pazakonta duke përdorur stile, jo imazhe;
  • Për imazhet, krijoni alt dhe titull (të ndryshëm për çdo imazh) në mënyrë që përmbajtja e tyre të njihet nga robotët e motorëve të kërkimit;
  • Aplikoni mjetet H1 në titujt - dhe kështu me radhë, në mënyrë që ato të njihen saktë gjatë indeksimit;
  • Përshkruani me fjalë kyçe vetëm ato fjalë kyçe që përdoren në faqe, minimizoni numrin e tyre;
  • Përdorni meta etiketa të ndryshme dhe koncize.

Optimizuesit CSS dhe HTML

Mund të optimizoni lehtësisht dhe shpejt drejtpërdrejt në shfletuesin duke përdorur shërbime speciale, për shembull:

  • CleanCSS.com;
  • CSS Optimizer;
  • Kompresor CSS
  • CYPR.com;
  • autoptimizo shtojcën.

Ekspertët në SEO dhe IT këshillojnë përdorimin e CleanCSS.com, pasi ju lejon të zgjidhni nivelin e kompresimit nga i ulët në të lartë, ose të zgjidhni cilësimet individuale. Pas niveleve të larta dhe më të larta të optimizimit, kodi i faqes bëhet pothuajse i palexueshëm dhe do të jetë pothuajse e pamundur të bëhen ndryshime në të. Prandaj, për të filluar, duhet të përdorni optimizimin standard. Ju mund të zgjidhni mënyrat e ngjeshjes për përmbajtje specifike ose të optimizoni parametrat individualë: ngjeshja e shkronjave, imazhet, heqja e hapësirave.

CY-PR.com gjithashtu ka një mjet të ngjashëm optimizimi që lehtëson strukturën CSS me 25-30%, por nuk ka asnjë mënyrë për të gjeneruar një skedar kodi pas operacionit.

Pjesa tjetër e shërbimeve mund të ndryshojnë rrënjësisht kodin në mënyrë që disa funksione në sit të ndalojnë së punuari. Prandaj, me ndihmën e tyre, është më mirë të bëhen vetëm ndryshime lokale në parametrat specifikë të sitit.

Pas optimizimit, duhet të kontrolloni performancën e faqes, shfaqjen e saktë të dizajnit dhe shpejtësinë e shkarkimit. Normale është situata kur faqet dhe opsionet e përdoruesve të faqes ngarkohen jo më shumë se 3-5 sekonda.

Për të kontrolluar shkallën e optimizimit dhe për të kuptuar se sa me efikasitet është shkruar tani kodi HTML, mund të përdorni shërbime të tilla si:

  • optimization.com;
  • Lista e kontrollit të portalit;
  • plugin firebug.

Këto mjete do t'ju ndihmojnë të kontrolloni nëse është bërë gjithçka për të zvogëluar sasinë e kodit HTML dhe për të përmirësuar strukturën e tij. Në burimin e listës së kontrollit SEO, mund të kontrolloni listën e asaj që është bërë tashmë për optimizim, dhe çfarë nuk është bërë ende, dhe të vendosni një shenjë në veprat e përfunduara.

Vleresimi

Ju mund të kontrolloni kodin e faqes për gabime duke përdorur shërbimet e kontrollit të vlefshmërisë - vërtetuesit. Vleresimi efikas i kodit bëhet me validator.w3c.org

Nëse sistemi gjeneron më shumë se gjysmë mijë gabime gjatë kontrollit të parë, nuk duhet të mërziteni. Pas korrigjimit të një të mete të caktuar, mund ta kryeni përsëri kontrollin dhe gabimet do të bëhen shumë më të vogla, pasi një e metë përfshin të tjerat dhe kur korrigjohet, ato do të zhduken.

Një sajt me kod të korrigjuar dhe të optimizuar ka më shumë gjasa të renditet më lart në rezultatet e kërkimit sesa një burim me kod HTML të mbingarkuar që përmban gabime.

Optimizimi i kodit quhet një ndryshim në kodin e saktë, që synon rritjen e efikasitetit të tij. "Optimizimi" do të thotë të bësh ndryshime të vogla që prekin një klasë, një metodë dhe më shpesh disa rreshta kodi. Ndryshimet e dizajnit në shkallë të gjerë ose përmirësime të tjera të performancës së nivelit të lartë nuk konsiderohen si optimizime. Kjo nuk është mënyra më efikase për të përmirësuar performancën. Përmirësimi i arkitekturës së programit, ridizajnimi i klasave dhe zgjedhja e një algoritmi më efikas çojnë në rezultate më mbresëlënëse. Për më tepër, optimizimi i kodit nuk është mënyra më e lehtë për të përmirësuar performancën: është më e lehtë të blini pajisje të reja ose një përpilues me një modul të përmirësuar optimizimi. Së fundi, kjo nuk është mënyra më e lirë për të përmirësuar performancën: kërkon shumë kohë për të optimizuar manualisht kodin fillimisht, dhe më pas kodi i optimizuar është më i vështirë për t'u ruajtur.

Optimizimi nga programuesi.

1). Zgjeroni strukturën e të dhënave duke shtuar informacion shtesë ose ndryshoni paraqitjen e të dhënave në këtë strukturë. 2). Llogaritni rezultatet paraprakisht dhe ruajini ato për përdorim të mëvonshëm. 3) . Aplikimi i paketimit të të dhënave. 4) . Laku i brendshëm duhet të përmbajë një numër minimal kontrollesh, dhe më e mira nga të gjitha, vetëm një. 5) . Heqja e kërcimeve të pakushtëzuara. 6) . Kontrollet logjike duhet të organizohen në mënyrë që kushtet më të shpejta që kanë më shumë gjasa të jenë të sakta të përballen me kushte më të ngadalta që kanë më pak gjasa të jenë të sakta. 7). Një funksion logjik në një grup të vogël vlerash fillestare mund të zëvendësohet nga një tabelë që përfaqëson këtë grup. 8). Heqja e shprehjeve të kopjuara. 9). Nëse dy ose më shumë shprehje identike vlerësohen shpesh në një rresht, ato duhet të zhvendosen në një nënprogram. 10) . Ndryshimi i llojeve të të dhënave mund të jetë një mënyrë efektive për të reduktuar kodin dhe për të përmirësuar performancën e tij. 11) . Rishkrimi i kodit në një gjuhë të nivelit të ulët. Nëse performanca është e ulët, kodi duhet të rishkruhet në një gjuhë të nivelit të ulët. Nëse jeni duke shkruar në C++, gjuha e nivelit të ulët mund të jetë Assembler. Rishkrimi i kodit në një gjuhë të nivelit të ulët zakonisht ka një efekt pozitiv në performancën e kodit.

Optimizimi i përpiluesit.

Metodat e optimizimit të kodit mund të aplikohen në nivele të ndryshme të ndërtimeve sintaksore: 1 ). në nivel operatori - shumica e përpiluesve bëjnë disa optimizime në këtë nivel. 2 ). në nivelin e bllokut - përpiluesi optimizues i alokon programit një strukturë operative duke ndërtuar një grafik të rrjedhës së drejtuar të programit, në të cilin çdo kulm përfaqëson bllokun kryesor, dhe lidhjet midis kulmeve përfaqësojnë flukset e kontrollit. Shumica e përpiluesve kryejnë optimizime në nivelin e bllokut. 3 ). në nivel cikli. 4 ). në nivelin e programit - niveli më i vështirë i optimizimit.

Sa më i lartë të jetë niveli i optimizimit, aq më shumë mundësi për të rritur shpejtësinë e modulit të programit. Megjithatë, kostoja e aplikimit të një shkalle më të madhe optimizimi mund të rrisë ndjeshëm kohën e përpilimit.

42. Hartimi i programeve: pikat kryesore.

1) Përshkrimi i zbatimit (gjuha, mjedisi i programimit, testimi, ekzekutimi i synuar):

madhësitë në bajt, operacionet, linjat;

madhësia e memories së kërkuar për të dhënat;

Burimet teknike të nevojshme.

2) Qasja në nënprogram (numri, lloji dhe rendi i transferimit të parametrave të hyrjes): metoda e transferimit (sipas referencës ose vlerës).

3) Përshkrimi i parametrave të kthyer:

një parametër i kthyer nga vetë funksioni;

përshkrimi i parametrave të hyrjes që modifikon funksioni.

4) Përshkrimi i situatave të jashtëzakonshme dhe reagimi i programit ndaj tyre.

5) Përshkrimi i mesazheve të programit, nëse ka.

6) Përshkrim i shkurtër i algoritmit:

Nëse ka një emër, atëherë tregoni atë;

emërtoni burimin ose ku është dhënë teksti i programit, nga është marrë algoritmi;

Ju mund të jepni një diagram bllok.

8) Përshkruani të gjithë skedarët hyrës dhe dalës dhe një përmbledhje të shkurtër të përmbajtjes së tyre.

9) Listoni strukturat e regjistrimit të të gjithë skedarëve:

Zbërthimi sipas fushave të rekordeve;



Po ngarkohet...
Top