Merge branch 'master' into feat/translators

This commit is contained in:
Dave Kerr
2020-02-25 23:20:28 +08:00
committed by GitHub
3 changed files with 139 additions and 121 deletions

View File

@@ -2,7 +2,7 @@
Please double check the items below! Please double check the items below!
- [ ] I have read the [Contributor Guidelines](./.github/contributing.md). - [ ] I have read the [Contributor Guidelines](https://github.com/dwmkerr/hacker-laws/blob/master/.github/contributing.md).
- [ ] I have not directly copied text from another location (unless explicitly indicated as a quote) or violated copyright. - [ ] I have not directly copied text from another location (unless explicitly indicated as a quote) or violated copyright.
- [ ] I have linked to the original Law. - [ ] I have linked to the original Law.
- [ ] I have quote the law (if possible) and the author's name (if possible). - [ ] I have quote the law (if possible) and the author's name (if possible).

View File

@@ -58,6 +58,7 @@ Like this project? Please considering [sponsoring me](https://github.com/sponsor
* [The Fallacies of Distributed Computing](#the-fallacies-of-distributed-computing) * [The Fallacies of Distributed Computing](#the-fallacies-of-distributed-computing)
* [Reading List](#reading-list) * [Reading List](#reading-list)
* [Translations](#translations) * [Translations](#translations)
* [Related Projects](#related-projects)
* [Contributing](#contributing) * [Contributing](#contributing)
* [TODO](#todo) * [TODO](#todo)
@@ -781,6 +782,10 @@ Thanks to a number of wonderful contributors, Hacker Laws is available in a numb
If you would like to update a translation, just [open a pull request](https://github.com/dwmkerr/hacker-laws/pulls). If you want to add a new language, log onto [GitLocalize](https://gitlocalize.com/) to create an account, then open an issue asking to administer the language and I will add you to the project! It would also be super helpful if you can open a pull request which updates the table above and link at the top of the file. If you would like to update a translation, just [open a pull request](https://github.com/dwmkerr/hacker-laws/pulls). If you want to add a new language, log onto [GitLocalize](https://gitlocalize.com/) to create an account, then open an issue asking to administer the language and I will add you to the project! It would also be super helpful if you can open a pull request which updates the table above and link at the top of the file.
## Related Projects
- [Tip of the Day](https://tips.darekkay.com/html/hacker-laws-en.html) - Receive a daily hacker law/principle.
## Contributing ## Contributing
Please do contribute! [Raise an issue](https://github.com/dwmkerr/hacker-laws/issues/new) if you'd like to suggest an addition or change, or [Open a pull request](https://github.com/dwmkerr/hacker-laws/compare) to propose your own changes. Please do contribute! [Raise an issue](https://github.com/dwmkerr/hacker-laws/issues/new) if you'd like to suggest an addition or change, or [Open a pull request](https://github.com/dwmkerr/hacker-laws/compare) to propose your own changes.

View File

@@ -11,6 +11,8 @@ Likumi, teorijas, principi un apraksti, kas izstrādātājiem šķitīs noderīg
- 🇹🇷 [türkçe/Turkish Version](https://github.com/umutphp/hacker-laws-tr) - paldies [Umut Işık](https://github.com/umutphp) - 🇹🇷 [türkçe/Turkish Version](https://github.com/umutphp/hacker-laws-tr) - paldies [Umut Işık](https://github.com/umutphp)
- 🇧🇷 [Brasileiro/Brazīlijas versija](./translations/pt-BR.md) - paldies [Leonardo Costa](https://github.com/LeoFC97) - 🇧🇷 [Brasileiro/Brazīlijas versija](./translations/pt-BR.md) - paldies [Leonardo Costa](https://github.com/LeoFC97)
- 🇪🇸 [Castellano/Spānijas versija](./translations/es-ES.md) - paldies [Manuel Rubio](https://github.com/manuel-rubio) - 🇪🇸 [Castellano/Spānijas versija](./translations/es-ES.md) - paldies [Manuel Rubio](https://github.com/manuel-rubio)
- 🇱🇻 [Latvian/Latvijas versija](./translations/lv.md) - paldies [Artūrs Jansons](https://github.com/iegik)
- 🇺🇸 [Original English Version - Oriģinālā angļu versija](https://github.com/dwmkerr/hacker-laws) - paldies [Dave Kerr](https://github.com/dwmkerr)!
Kā šis projekts? Lūdzu, apsveriet iespēju [Sponsoring Me](https://github.com/sponsors/dwmkerr)! Kā šis projekts? Lūdzu, apsveriet iespēju [Sponsoring Me](https://github.com/sponsors/dwmkerr)!
@@ -18,10 +20,10 @@ Kā šis projekts? Lūdzu, apsveriet iespēju [Sponsoring Me](https://github.com
<!-- VIM-markdown-toc GFM --> <!-- VIM-markdown-toc GFM -->
* [ievads](#introduction) * [Ievads](#ievads)
* [likumi](#laws) * [Likumi](#likumi)
* [Amdahla likums](#amdahla-likums) * [Amdahla likums](#amdahla-likums)
* [The Broken Windows Theory](#the-broken-windows-theory) * [Izsisto logu teorija](#izsisto-logu-teorija)
* [Brūku likums](#bruku-likums) * [Brūku likums](#bruku-likums)
* [Konveja likums](#conways-likums) * [Konveja likums](#conways-likums)
* [Kaningemas likums](#cunninghams-likums) * [Kaningemas likums](#cunninghams-likums)
@@ -30,42 +32,42 @@ Kā šis projekts? Lūdzu, apsveriet iespēju [Sponsoring Me](https://github.com
* [Goodharta likums](#goodharts-likums) * [Goodharta likums](#goodharts-likums)
* [Hanona Razora](#hanlons-razor) * [Hanona Razora](#hanlons-razor)
* [Hofstadtera likums](#hofstadtera-likums) * [Hofstadtera likums](#hofstadtera-likums)
* [Hutber's Law](#hutbers-law) * [Hutbera likums](#hutbera-likums)
* [Hype Cycle & Amara's Law](#the-hype-cycle-amaras-law) * [Hype Cycle & Amaras likums](#hype-cycle-amaras-likums)
* [Hyruma likums (Perifērisko saskarņu likums)](#hyruma-likums-perifērisko-saskarņu-likums) * [Hyruma likums (Perifērisko saskarņu likums)](#hyruma-likums-perifērisko-saskarņu-likums)
* [Kernigana likums](#Kernigana-likums) * [Kernigana likums](#kernigana-likums)
* [Metkalfa likums](#Metkalfa-likums) * [Metkalfa likums](#metkalfa-likums)
* [Mora likums](#mora-likums) * [Mora likums](#mora-likums)
* [Mērfija likums/Soda likums](#murphys-sods-likums) * [Mērfija likums/Soda likums](#murphys-sods-likums)
* [Occam's Razor](#occams-razor) * [Occam's Razor](#occams-razor)
* [Parkinsona likums](#parkinsons-Law) * [Parkinsona likums](#parkinsons-Law)
* [Priekšlaicīgas optimizēšanas efekts](#premature-optimizēšanas-efekts) * [Priekšlaicīgas optimizēšanas efekts](#premature-optimizēšanas-efekts)
* [Putt's Law](#putts-law) * [Putta likums](#putta-likums)
* [Reed's Law](#reeds-law) * [Reeda likums](#reeda-likums)
* [Taisnīguma saglabāšanas likums (Teslera likums)](#youth-of-teslers-law-of-conservation-complexity-law) * [Taisnīguma saglabāšanas likums (Teslera likums)](#taisnīguma-saglabāšanas-likums-teslera-likums)
* [Leaky Abstractions likums](#the-law-of-dioxide-freshctions) * [Leaky Abstractions likums](#leaky-Abstractions-likums)
* [Trivialitātes likums](#the-law-of-triviality) * [Trivialitātes likums](#trivialitātes-likums)
* [Unix Philosophy](#the-unix-philosophy) * [Unix filozofija](#unix-filozofija)
* [Spotify modelis](#the-spotify-model) * [Spotify modelis](#spotify-modelis)
* [Wadler's Law](#wadlers-law) * [Wadlera likums](#wadlera-likums)
* [Wheaton's Law](#wheatons-likums) * [Wheatona likums](#wheatons-likums)
* [principi](#principles) * [Principi](#principi)
* [Dilbert princips](#the-dilbert-principle) * [Dilberta princips](#dilberta-princips)
* [Pareto Principle (The 80/20 Rule)](#the-pareto-principle-the-8020-rule) * [Pareto princips (kārtula 80/20)](#pareto-princips-kārtula-8020)
* [Peter Principle](#the-peter-principle) * [Petera princips](#petera-princips)
* [Uzturības princips (Postel's Law)](#the-rorigness-principle-postels-law) * [Uzturības princips (Postela likums)](#uzturības-princips-postela-likums)
* [SOLID](#solid) * [SOLID](#solid)
* [Vienotās atbildības princips](#the-single-responsibility-principle) * [Vienotās atbildības princips](#vienotās-atbildības-princips)
* [Atklātais/slēgtais princips](#the-openclosed-principle) * [Atklātais/slēgtais princips](#atklātaisslēgtais-princips)
* [Liskova aizstāšanas princips](#the-liskov-substitution-principle) * [Liskova aizstāšanas princips](#liskova-aizstāšanas-princips)
* [Interfeisa segmenta noteikšanas princips](#the-interface-segregation-principle) * [Interfeisa segmenta noteikšanas princips](#interfeisa-segmenta-noteikšanas-princips)
* [rights-dependence-inversion-principle](#the-dependent-inversion-principle) * [Atkarībās inversijas princips](#atkarības-inversijas-princips)
* [DRY princips](#the-dry-principle) * [DRY princips](#dry-princips)
* [KISS princips](#the-kiss-principle) * [KISS princips](#kiss-princips)
* [YAGNI](#yagni) * [YAGNI](#yagni)
* [dalītās datošanas Fallacies](#the-fallacies-of-illicit-computing) * [Dalītās datošanas maldības](#dalītās-datošanas-maldības)
* [Lasitaja saraksts](#Lasīšanas-saraksts) * [Lasīšanas saraksts](#lasīšanas-saraksts)
* [Ieguldījums](#Ieguldījums) * [Ieguldījums](#ieguldījums)
* [Uzdevums](#TODO) * [Uzdevums](#TODO)
<!-- VIM-markdown-toc --> <!-- VIM-markdown-toc -->
@@ -82,7 +84,7 @@ Un te nu mēs ejam!
### Amdahl likums ### Amdahl likums
[Amdahl likums par Wikipedia](https://en.wikipedia.org/wiki/Amdahl%27s_law) [Amdahl likums Vikipēdi](https://en.wikipedia.org/wiki/Amdahl%27s_law)
> Amdahl likums ir formula, kas parāda skaitļošanas uzdevuma _increedup_, ko var sasniegt, palielinot sistēmas resursus. Parasti izmanto paralēlā skaitļošanā, tā var paredzēt faktisko labumu no procesoru skaita palielināšanas, ko ierobežo programmas paralēliskās iespējas. > Amdahl likums ir formula, kas parāda skaitļošanas uzdevuma _increedup_, ko var sasniegt, palielinot sistēmas resursus. Parasti izmanto paralēlā skaitļošanā, tā var paredzēt faktisko labumu no procesoru skaita palielināšanas, ko ierobežo programmas paralēliskās iespējas.
@@ -90,24 +92,24 @@ Vislabāk ilustrēts ar piemēru. Ja programma sastāv no divām daļām, daļas
Turpmāk redzamajā diagrammā ir parādīti daži iespējamo ātruma uzlabojumu piemēri. Turpmāk redzamajā diagrammā ir parādīti daži iespējamo ātruma uzlabojumu piemēri.
<img alt="Diagram: Amdahl's Law" src="../images/amdahls_law.png" width="480px"/> <img alt="Diagram: Amdahla likums" src="../images/amdahls_law.png" width="480px"/>
*(Atsauce uz attēlu: Daniels220 angļu valodā Wikipedia, Creative Commons Attribution-Share Alike 3.0 Unported, https://en.wikipedia.org/wiki/File:AmdahlsLaw.svg)* *(Atsauce uz attēlu: Daniels220 angļu valodā Wikipedia, Creative Commons Attribution-Share Alike 3.0 Unported, https://en.wikipedia.org/wiki/File:AmdahlsLaw.svg)*
Kā redzams, pat programma, kas ir 50% parallelisable, gūs ļoti maz vairāk nekā 10 procesoru vienību, bet programma, kas ir 95% parallelisable, joprojām var sasniegt ievērojamus ātruma uzlabojumus ar vairāk nekā tūkstoš procesoriem. Kā redzams, pat programma, kas ir 50% parallelisable, gūs ļoti maz vairāk nekā 10 procesoru vienību, bet programma, kas ir 95% parallelisable, joprojām var sasniegt ievērojamus ātruma uzlabojumus ar vairāk nekā tūkstoš procesoriem.
Tā kā [Moore's Law](#mora-likums) palēninās un individuālā procesora ātruma paātrināšanās palēninās, paralelizācija ir būtiska, lai uzlabotu veiktspēju. Grafikas programmēšana ir lielisks piemērs - ar mūsdienu Shader bāzes skaitļošanu, atsevišķiem pikseļiem vai fragmentiem var renderēt paralēli - tāpēc mūsdienu grafikas kartēs bieži vien ir daudz tūkstošu apstrādes kodolu (GPUs vai Shader Units). Tā kā [Mora likums](#mora-likums) palēninās un individuālā procesora ātruma paātrināšanās palēninās, paralelizācija ir būtiska, lai uzlabotu veiktspēju. Grafikas programmēšana ir lielisks piemērs - ar mūsdienu Shader bāzes skaitļošanu, atsevišķiem pikseļiem vai fragmentiem var renderēt paralēli - tāpēc mūsdienu grafikas kartēs bieži vien ir daudz tūkstošu apstrādes kodolu (GPUs vai Shader Units).
Skatīt arī: Skatīt arī:
- [Brūku likums](#brooks-likums) - [Brūku likums](#brooks-likums)
- [Mora likums](#mora-likums) - [Mora likums](#mora-likums)
### Apgrieztās sistēmas teorija ### Izsisto logu teorija
[The Broken Windows Theory on Wikipedia](https://en.wikipedia.org/wiki/Broken_windows_theory) [Izsisto logu teorija Vikipēdi](https://en.wikipedia.org/wiki/Broken_windows_theory)
“Broken Windows” teorija liecina, ka redzamas nozieguma pazīmes (vai kādas vides rūpju trūkums) noved pie tālākiem un smagākiem noziegumiem (vai tālākas vides pasliktināšanās). Izsisto logu teorija liecina, ka redzamas nozieguma pazīmes (vai kādas vides rūpju trūkums) noved pie tālākiem un smagākiem noziegumiem (vai tālākas vides pasliktināšanās).
Šī teorija ir izmantota programmatūras izstrādei, kas liek domāt, ka sliktas kvalitātes kods (vai [Technical Debt](#TODO)) var radīt priekšstatu, ka kvalitātes uzlabošanas centieni var tikt ignorēti vai nepietiekami novērtēti, tādējādi radot vēl vairāk sliktas kvalitātes kodu. Šī efekta kaskādes izraisa ievērojamu kvalitātes samazināšanos laika gaitā. Šī teorija ir izmantota programmatūras izstrādei, kas liek domāt, ka sliktas kvalitātes kods (vai [Technical Debt](#TODO)) var radīt priekšstatu, ka kvalitātes uzlabošanas centieni var tikt ignorēti vai nepietiekami novērtēti, tādējādi radot vēl vairāk sliktas kvalitātes kodu. Šī efekta kaskādes izraisa ievērojamu kvalitātes samazināšanos laika gaitā.
@@ -122,7 +124,7 @@ Piemēri:
### Brūku likums ### Brūku likums
[Brūku likums par Wikipedia](https://en.wikipedia.org/wiki/Brooks%27s_law) [Brūku likums Vikipēdi](https://en.wikipedia.org/wiki/Brooks%27s_law)
> Personāla resursu pievienošana vēlākam programmatūras izstrādes projektam to dara vēlāk. > Personāla resursu pievienošana vēlākam programmatūras izstrādes projektam to dara vēlāk.
@@ -130,7 +132,7 @@ Piemēri:
Izplatītā frāze “Deviņi sievietes nevar dzemdēt bērnu vienā mēnesī” attiecas uz Brūku likumu, jo īpaši uz faktu, ka daži darba veidi nav dalāmi vai parallelisable. Izplatītā frāze “Deviņi sievietes nevar dzemdēt bērnu vienā mēnesī” attiecas uz Brūku likumu, jo īpaši uz faktu, ka daži darba veidi nav dalāmi vai parallelisable.
Šī ir grāmatas “[The Mythical Man Monthly](#reading-list)” galvenā tēma. Šī ir grāmatas “[The Mythical Man Monthly](#lasīšanas-saraksts)” galvenā tēma.
Skatīt arī: Skatīt arī:
@@ -139,17 +141,17 @@ Skatīt arī:
### Konveja likums ### Konveja likums
[Conway's Law on Wikipedia](https://en.wikipedia.org/wiki/Conway%27s_law) [Conwaya likums Vikipēdi](https://en.wikipedia.org/wiki/Conway%27s_law)
Šis likums paredz, ka sistēmas tehniskās robežas atspoguļos organizācijas struktūru. Parasti tas tiek pieminēts, aplūkojot organizācijas uzlabojumus, Konveja likums liecina, ka, ja organizācija ir strukturēta uz daudzām mazām, atvienotām vienībām, tad tā ražotā programmatūra būs. Ja organizācija ir vairāk izveidota, izmantojot "vertikāles”, kas ir orientētas uz līdzekļiem vai pakalpojumiem, arī programmatūras sistēmas to atspoguļo. Šis likums paredz, ka sistēmas tehniskās robežas atspoguļos organizācijas struktūru. Parasti tas tiek pieminēts, aplūkojot organizācijas uzlabojumus, Konveja likums liecina, ka, ja organizācija ir strukturēta uz daudzām mazām, atvienotām vienībām, tad tā ražotā programmatūra būs. Ja organizācija ir vairāk izveidota, izmantojot "vertikāles”, kas ir orientētas uz līdzekļiem vai pakalpojumiem, arī programmatūras sistēmas to atspoguļo.
Skatīt arī: Skatīt arī:
- [Spotify modelis](#the-spotify-model) - [Spotify modelis](#spotify-modelis)
### Kaningemas likums ### Kaningemas likums
[Kaningemas likums par Wikipedia](https://en.wikipedia.org/wiki/Ward_Cunningham#Cunningham_likums) [Kaningemas likums Vikipēdi](https://en.wikipedia.org/wiki/Ward_Cunningham#Cunningham_likums)
> Labākais veids, kā iegūt pareizo atbildi internetā, ir neuzdot jautājumu, tas ir, izlikt nepareizu atbildi. > Labākais veids, kā iegūt pareizo atbildi internetā, ir neuzdot jautājumu, tas ir, izlikt nepareizu atbildi.
@@ -161,7 +163,7 @@ Skatīt arī:
### Danbara numurs ### Danbara numurs
[Danbara numurs on Wikipedia](https://en.wikipedia.org/wiki/Dunbar%27s_number) [Danbara numurs Vikipēdi](https://en.wikipedia.org/wiki/Dunbar%27s_number)
“Danbara skaitlis ir ieteicams izziņas ierobežojums to cilvēku skaitam, ar kuriem var uzturēt stabilas sociālās attiecības — attiecības, kurās indivīds zina, kas ir katrs cilvēks un kā katrs cilvēks ir saistīts ar katru citu cilvēku.” Ir kādas domstarpības ar precīzu skaitli. “..” “Dunbar” ierosināja, ka cilvēki var mierīgi uzturēt tikai 150 stabilas attiecības.” Viņš ievietoja numuru vairāk sabiedriskā kontekstā, “tik daudz cilvēku, cik jūs nejustos apmulsuši, ka pievienojaties nelūgtam dzērienam, ja jums gadītos ar viņiem ieskrieties bārā.” Aptuvenie skaitļi parasti ir no 100 līdz 250. “Danbara skaitlis ir ieteicams izziņas ierobežojums to cilvēku skaitam, ar kuriem var uzturēt stabilas sociālās attiecības — attiecības, kurās indivīds zina, kas ir katrs cilvēks un kā katrs cilvēks ir saistīts ar katru citu cilvēku.” Ir kādas domstarpības ar precīzu skaitli. “..” “Dunbar” ierosināja, ka cilvēki var mierīgi uzturēt tikai 150 stabilas attiecības.” Viņš ievietoja numuru vairāk sabiedriskā kontekstā, “tik daudz cilvēku, cik jūs nejustos apmulsuši, ka pievienojaties nelūgtam dzērienam, ja jums gadītos ar viņiem ieskrieties bārā.” Aptuvenie skaitļi parasti ir no 100 līdz 250.
@@ -169,11 +171,11 @@ Tāpat kā stabilas attiecības starp indivīdiem, arī izstrādātāja attiecī
Skatīt arī: Skatīt arī:
- [Conway's Law](#conways-likums) - [Conwaya likums](#conways-likums)
### Galla likums ### Galla likums
[Galla likums on Wikipedia](https://en.wikipedia.org/wiki/John_Gall_(autors)#Gall's_law) [Galla likums Vikipēdi](https://en.wikipedia.org/wiki/John_Gall_(autors)#Gall's_law)
> Salikta sistēmā, kas darbojas, pastāvīgi tiek atrasta, ka tā ir attīstījusies no vienkāršas sistēmas, kas darbojās. Sarežģīta sistēma, kas veidota no nulles, nekad nedarbojas, un to nevar patukšot, lai tā darbotos. Jāsāk ar vienkāršu darba sistēmu. > Salikta sistēmā, kas darbojas, pastāvīgi tiek atrasta, ka tā ir attīstījusies no vienkāršas sistēmas, kas darbojās. Sarežģīta sistēma, kas veidota no nulles, nekad nedarbojas, un to nevar patukšot, lai tā darbotos. Jāsāk ar vienkāršu darba sistēmu.
> >
@@ -185,11 +187,11 @@ Klasiskais piemērs ir vispasaules tīmeklis. Pašreizējā stāvoklī tā ir ļ
Skatīt arī: Skatīt arī:
- [KISS (keep It Simple, Stupid)](#the-kiss-principle) - [KISS (keep It Simple, Stupid)](#kiss-princips)
### Goodharta likums ### Goodharta likums
[Goodhart's Law on Wikipedia](https://en.wikipedia.org/wiki/Goodhart's_law) [Goodharta likums Vikipēdi](https://en.wikipedia.org/wiki/Goodhart's_law)
> jebkura novērotā statistiskā regularitāte var sabrukt, kad uz to tiek izdarīts spiediens kontroles nolūkā. > jebkura novērotā statistiskā regularitāte var sabrukt, kad uz to tiek izdarīts spiediens kontroles nolūkā.
> >
@@ -204,25 +206,28 @@ Bieži minēts arī kā:
Likums nosaka, ka pasākuma virzītā optimizācija var izraisīt paša mērījumu rezultāta devalvāciju. Pārāk selektīvs pasākumu kopums ([KPI](https://en.wikipedia.org/wiki/Performance_indicator)), ko akli piemēro procesam, rada izkropļotu ietekmi. Cilvēki mēdz optimizēt vietējā līmenī, “spēlējot” sistēmu, lai tā atbilstu īpašiem rādītājiem, nevis pievērstu uzmanību viņu darbību visaptverošajiem rezultātiem. Likums nosaka, ka pasākuma virzītā optimizācija var izraisīt paša mērījumu rezultāta devalvāciju. Pārāk selektīvs pasākumu kopums ([KPI](https://en.wikipedia.org/wiki/Performance_indicator)), ko akli piemēro procesam, rada izkropļotu ietekmi. Cilvēki mēdz optimizēt vietējā līmenī, “spēlējot” sistēmu, lai tā atbilstu īpašiem rādītājiem, nevis pievērstu uzmanību viņu darbību visaptverošajiem rezultātiem.
Reālpasaules piemēri: Reālpasaules piemēri:
- izmēģinājumi bez pārbaudes atbilst koda pārklājuma prognozēm, neskatoties uz to, ka metrikas nolūks bija izveidot labi pārbaudītu programmatūru. - izmēģinājumi bez pārbaudes atbilst koda pārklājuma prognozēm, neskatoties uz to, ka metrikas nolūks bija izveidot labi pārbaudītu programmatūru.
- izstrādātāja snieguma rezultāts, ko norāda veikto rindu skaits, noved pie nepamatoti uzpūstas kodebāzes. - izstrādātāja snieguma rezultāts, ko norāda veikto rindu skaits, noved pie nepamatoti uzpūstas kodebāzes.
Skatīt arī: Skatīt arī:
- [Goodhart's Law: How Measuring The Wrong Things Drive Immoral Bemoral haviour](https://coffeeandjunk.com/goodharts-campbells-law/) - [Goodharta likums: How Measuring The Wrong Things Drive Immoral Bemoral haviour](https://coffeeandjunk.com/goodharts-campbells-law/)
- [Dilbert on bug-free software](https://dilbert.com/strip/1995-11-13) - [Dilbert on bug-free software](https://dilbert.com/strip/1995-11-13)
### Hanlons Razors ### Hanlons Razors
[Hanlon's Razor on Wikipedia](https://en.wikipedia.org/wiki/Hanlon%27s_razor) [Hanlon's Razor Vikipēdi](https://en.wikipedia.org/wiki/Hanlon%27s_razor)
> nekad nepiedēvē ļaunprātību, kas ir pietiekami izskaidrota ar muļķību. > nekad nepiedēvē ļaunprātību, kas ir pietiekami izskaidrota ar muļķību.
> >
> Roberts J. HanlonsŠis princips liek domāt, ka darbības, kas rada negatīvu rezultātu, nav sliktas gribas rezultāts. Tā vietā negatīvais iznākums drīzāk tiek attiecināts uz šīm darbībām un/vai ietekme netiek pilnībā izprasta. > Roberts J. Hanlons
### Hofstadter's Law Šis princips liek domāt, ka darbības, kas rada negatīvu rezultātu, nav sliktas gribas rezultāts. Tā vietā negatīvais iznākums drīzāk tiek attiecināts uz šīm darbībām un/vai ietekme netiek pilnībā izprasta.
[Hefstadter's Law on Wikipedia](https://en.wikipedia.org/wiki/Hofstadter%27s_law) ### Hofstadtera likums
[Hefstadtera likums Vikipēdijā](https://en.wikipedia.org/wiki/Hofstadter%27s_law)
> Tas vienmēr aizņem vairāk laika, nekā jūs domājat, pat ņemot vērā Hofštera likumu. > Tas vienmēr aizņem vairāk laika, nekā jūs domājat, pat ņemot vērā Hofštera likumu.
> >
@@ -230,15 +235,15 @@ Skatīt arī:
Jūs varētu dzirdēt, kā šis likums tiek pieminēts, skatoties uz aprēķiniem, cik ilgi kaut kas notiks. Šķiet, ka programmatūras izstrādes triks ir tāds, ka mēs nemēdzam precīzi novērtēt, cik ilgs laiks būs vajadzīgs, lai to paveiktu. Jūs varētu dzirdēt, kā šis likums tiek pieminēts, skatoties uz aprēķiniem, cik ilgi kaut kas notiks. Šķiet, ka programmatūras izstrādes triks ir tāds, ka mēs nemēdzam precīzi novērtēt, cik ilgs laiks būs vajadzīgs, lai to paveiktu.
Tas ir no grāmatas “[Gödel, Escher, Bahs: An Mūžīgais Zelta Breidijs](#Lasīšanas-saraksts)”. Tas ir no grāmatas “[Gödel, Escher, Bahs: An Mūžīgais Zelta Breidijs](#lasīšanas-saraksts)”.
Skatīt arī: Skatīt arī:
- [Lasīšanas saraksts: Gödel, Escher, Baach: An Mūžīgais zelta Breids](#Lasīšanas-saraksts) - [Lasīšanas saraksts: Gödel, Escher, Baach: An Mūžīgais zelta Breids](#lasīšanas-saraksts)
### Hutber's Law ### Hutbera likums
[Hutber's Law on Wikipedia](https://en.wikipedia.org/wiki/Hutber%27s_law) [Hutbera likums Vikipēdi](https://en.wikipedia.org/wiki/Hutber%27s_law)
> Uzlabošanās nozīmē nolietošanos. > Uzlabošanās nozīmē nolietošanos.
> >
@@ -250,7 +255,7 @@ Piemēram, atbildes latentuma samazināšanās konkrētā galapunktā varētu ra
### Hype Cycle & Amara likums ### Hype Cycle & Amara likums
[Hype Cycle Vikipedijā](https://en.wikipedia.org/wiki/Hype_cycle) [Hype Cycle Vikipēdijā](https://en.wikipedia.org/wiki/Hype_cycle)
> Mēs pārāk augstu vērtējam tehnoloģijas ietekmi īstermiņā un nepietiekami novērtējam tās ietekmi ilgtermiņā. > Mēs pārāk augstu vērtējam tehnoloģijas ietekmi īstermiņā un nepietiekami novērtējam tās ietekmi ilgtermiņā.
> >
@@ -296,26 +301,26 @@ Lai gan Kernigana likums ir hiperbolisks, tas ir arguments, ka vienkāršam koda
Skatīt arī: Skatīt arī:
- [KISS princips](#the-kiss-principle) - [KISS princips](#kiss-princips)
- [Unix Philosophy](#the-unix-philosophy) - [Unix filozofija](#unix-filozofija)
- [Occam's Razor](#occams-razor) - [Occam's Razor](#occams-razor)
### Metkalfa likums ### Metkalfa likums
[Metkalfe's Law on Wikipedia](https://en.wikipedia.org/wiki/Metcalfe's_law) [Metkalfea likums Vikipēdi](https://en.wikipedia.org/wiki/Metcalfe's_law)
> Tīkla teorijā sistēmas vērtība pieaug aptuveni pēc sistēmas lietotāju skaita kvadrāta. > Tīkla teorijā sistēmas vērtība pieaug aptuveni pēc sistēmas lietotāju skaita kvadrāta.
Šis likums ir balstīts uz iespējamo pārtikušo savienojumu skaitu sistēmā un ir cieši saistīts ar [Reed's Law](#reeds-law). Odlyzko un citi apgalvoja, ka gan Rīda likums, gan Metkalfa likums nosaka pārāk augstu sistēmas vērtību, neņemot vērā cilvēku izziņas robežas attiecībā uz tīkla ietekmi; skatīt [Danbara numurs](#dunbars-number). Šis likums ir balstīts uz iespējamo pārtikušo savienojumu skaitu sistēmā un ir cieši saistīts ar [Reeda likums](#reeda-likums). Odlyzko un citi apgalvoja, ka gan Rīda likums, gan Metkalfa likums nosaka pārāk augstu sistēmas vērtību, neņemot vērā cilvēku izziņas robežas attiecībā uz tīkla ietekmi; skatīt [Danbara numurs](#dunbars-number).
Skatīt arī: Skatīt arī:
- [Reed's Law](#reeds-law) - [Reeda likums](#reeda-likums)
- [Danbara numurs](#Danbara-numurs) - [Danbara numurs](#Danbara-numurs)
### Mora likums ### Mora likums
[Mora likums par Wikipedia](https://en.wikipedia.org/wiki/Moore%27s_law) [Mora likums Vikipēdi](https://en.wikipedia.org/wiki/Moore%27s_law)
> Tranzistoru skaits integrālajā shēmā divkāršojas aptuveni reizi divos gados. > Tranzistoru skaits integrālajā shēmā divkāršojas aptuveni reizi divos gados.
@@ -323,7 +328,7 @@ Mora prognozes ir ļoti precīzas no 1970. gadiem līdz pat 2000. gadu beigām.
### Mērfija likums/Soda likums ### Mērfija likums/Soda likums
[Mērfija likums par Wikipedia](https://en.wikipedia.org/wiki/Murphy%27s_law) [Mērfija likums Vikipēdi](https://en.wikipedia.org/wiki/Murphy%27s_law)
> Jebkas, kas var noiet greizi, noies greizi. > Jebkas, kas var noiet greizi, noies greizi.
@@ -342,7 +347,7 @@ Skatīt arī:
### Okuta Razors ### Okuta Razors
[Occam's Razor on Wikipedia](https://en.wikipedia.org/wiki/Occam's_razor) [Occam's Razor Vikipēdi](https://en.wikipedia.org/wiki/Occam's_razor)
> Entītijas nedrīkst reizināt bez nepieciešamības. > Entītijas nedrīkst reizināt bez nepieciešamības.
> >
@@ -360,7 +365,7 @@ Piemērs:
### Parkinsona likums ### Parkinsona likums
[Parkinsona likums par Wikipedia](https://en.wikipedia.org/wiki/Parkinson%27s_law) [Parkinsona likums Vikipēdi](https://en.wikipedia.org/wiki/Parkinson%27s_law)
> Darbs tiek izvērsts, lai aizpildītu laiku, kas ir pieejams tā pabeigšanai. > Darbs tiek izvērsts, lai aizpildītu laiku, kas ir pieejams tā pabeigšanai.
@@ -370,7 +375,7 @@ Ja šis likums tiktu apvienots ar [Hofštera likumu](#hofstadtera-likums), tad t
Skatīt arī: Skatīt arī:
- [Hofstadter's Law](#hofstadtera-likums) - [Hofstadtera likums](#hofstadtera-likums)
### Priekšlaicīgas optimizācijas efekts ### Priekšlaicīgas optimizācijas efekts
@@ -384,13 +389,13 @@ Donalda Knuta (Donald Knuth) rakstā [Structured Programming With Go To Deements
Tomēr _Premature Optimization_ var definēt (mazāk noslogotā izteiksmē) kā optimizāciju, pirms mēs zinām, ka tas ir nepieciešams. Tomēr _Premature Optimization_ var definēt (mazāk noslogotā izteiksmē) kā optimizāciju, pirms mēs zinām, ka tas ir nepieciešams.
### Putt's Law ### Putta likums
[Putt's Law on Wikipedia](https://en.wikipedia.org/wiki/Putt%27s_Law_and_the_Successful_Technocrat) [Putta likums Vikipēdi](https://en.wikipedia.org/wiki/Putt%27s_Law_and_the_Successful_Technocrat)
> Tehnoloģijā dominē divu veidu cilvēki, tie, kas saprot, ko nepārvalda, un tie, kas pārvalda to, ko nesaprot. > Tehnoloģijā dominē divu veidu cilvēki, tie, kas saprot, ko nepārvalda, un tie, kas pārvalda to, ko nesaprot.
Flower's Law bieži seko līdzi Putt Corollary: Flowera likums bieži seko līdzi Putt Corollary:
> katra tehniskā hierarhija laika gaitā attīsta kompetences neversiju. > katra tehniskā hierarhija laika gaitā attīsta kompetences neversiju.
@@ -400,12 +405,12 @@ Tomēr jāuzsver, ka šādi tiesību akti ir plaši vispārinājumi un var attie
Skatīt arī: Skatīt arī:
- [Peter Principle](#the-peter-principle) - [Peter Principle](#petera-princips)
- [Dilbert princips](#the-dilbert-principle) - [Dilberta princips](#dilberta-princips)
### Reed's Law ### Reeda likums
[Reed's Law on Wikipedia](https://en.wikipedia.org/wiki/Reed's_law) [Reeda likums Vikipēdi](https://en.wikipedia.org/wiki/Reed's_law)
> Lielo tīklu, it īpaši sociālo tīklu, lietderība ir atkarīga no tīkla lieluma. > Lielo tīklu, it īpaši sociālo tīklu, lietderība ir atkarīga no tīkla lieluma.
@@ -413,10 +418,10 @@ Skatīt arī:
Skatīt arī: Skatīt arī:
- [Metkalfa likums](#Metkalfa-likums) - [Metkalfa likums](#metkalfa-likums)
- [Danbara numurs](#Danbara-numurs) - [Danbara numurs](#Danbara-numurs)
### Atbilstības saglabāšanas likums (Teslera likums) ### Taisnīguma saglabāšanas likums (Teslera likums)
[Likums par stabilitātes saglabāšanu attiecībā uz Wikipedia](https://en.wikipedia.org/wiki/Law_of_conservation_of_complexity) [Likums par stabilitātes saglabāšanu attiecībā uz Wikipedia](https://en.wikipedia.org/wiki/Law_of_conservation_of_complexity)
@@ -444,7 +449,7 @@ Tiesību aktu aprakstošais pants liecina, ka pārmērīga paļaušanās uz abst
Skatīt arī: Skatīt arī:
- [Hyrum's Law](#hyruma-likums-perifērisko-saskarņu-likums) - [Hyruma likums](#hyruma-likums-perifērisko-saskarņu-likums)
Reālpasaules piemēri: Reālpasaules piemēri:
@@ -452,7 +457,7 @@ Reālpasaules piemēri:
### Trivialitātes likums ### Trivialitātes likums
[Wikipedia Trivialitātes likums](https://en.wikipedia.org/wiki/Law_of_triviality) [Trivialitātes likums Vikipēdijā](https://en.wikipedia.org/wiki/Law_of_triviality)
Šis likums liek domāt, ka grupas daudz vairāk laika un uzmanības veltīs triviāliem vai kosmētiskiem jautājumiem, nevis nopietniem un būtiskiem. Šis likums liek domāt, ka grupas daudz vairāk laika un uzmanības veltīs triviāliem vai kosmētiskiem jautājumiem, nevis nopietniem un būtiskiem.
@@ -460,11 +465,11 @@ Kopējais izdomātais piemērs ir komiteja, kas apstiprina plānus atomelektrost
Iepriekš aprakstītais piemērs lika lietot terminu “Bike Shedding” kā izteicienu, lai izšķiestu laiku triviāliem sīkumiem. Saistītais termins ir “[Yak Shaving](https://en.wiktionary.org/wiki/yak_shaving)”, kas saista šķietami nebūtisku darbību, kas ir daļa no gara priekšnosacījumu ķēdes galvenajam uzdevumam. Iepriekš aprakstītais piemērs lika lietot terminu “Bike Shedding” kā izteicienu, lai izšķiestu laiku triviāliem sīkumiem. Saistītais termins ir “[Yak Shaving](https://en.wiktionary.org/wiki/yak_shaving)”, kas saista šķietami nebūtisku darbību, kas ir daļa no gara priekšnosacījumu ķēdes galvenajam uzdevumam.
### Unix Philosophy ### Unix filozofija
[Unix Philosophy on Wikipedia](https://en.wikipedia.org/wiki/Unix_philosophy) [Unix filozofija Vikipēdi](https://en.wikipedia.org/wiki/Unix_philosophy)
Unix Philosophy ir tāds, ka programmatūras komponentiem jābūt maziem un jābūt vērstiem uz to, lai labi paveiktu vienu konkrētu lietu. Tas var atvieglot sistēmu izveidi, izveidojot kopā mazas, vienkāršas, labi definētas vienības, nevis izmantojot lielas, sarežģītas, daudzfunkcionālas programmas. Unix filozofija ir tāda, ka programmatūras komponentiem jābūt maziem un jābūt vērstiem uz to, lai labi paveiktu vienu konkrētu lietu. Tas var atvieglot sistēmu izveidi, izveidojot kopā mazas, vienkāršas, labi definētas vienības, nevis izmantojot lielas, sarežģītas, daudzfunkcionālas programmas.
Mūsdienu praksi, piemēram, "Microservice arhitektūru”, var uzskatīt par šī likuma piemērošanu, kur pakalpojumi ir mazi, koncentrēti un dara vienu konkrētu lietu, ļaujot kompleksai rīcībai veidot vienkāršus veidošanas blokus. Mūsdienu praksi, piemēram, "Microservice arhitektūru”, var uzskatīt par šī likuma piemērošanu, kur pakalpojumi ir mazi, koncentrēti un dara vienu konkrētu lietu, ļaujot kompleksai rīcībai veidot vienkāršus veidošanas blokus.
@@ -476,9 +481,9 @@ Mūsdienu praksi, piemēram, "Microservice arhitektūru”, var uzskatīt par š
Spotify modelis popularizē arī Tribes, Guilds, Chapters jēdzienus, kas ir citi to organizācijas struktūras elementi. Spotify modelis popularizē arī Tribes, Guilds, Chapters jēdzienus, kas ir citi to organizācijas struktūras elementi.
### wadler's Law ### Wadlera likums
[lung's Law on wiki.haskell.org](https://wiki.haskell.org/Wadler's_Law) [Lunga likums on wiki.haskell.org](https://wiki.haskell.org/Wadler's_Law)
> jebkurā valodas dizainā kopējais laiks, kas pavadīts, apspriežot kādu līdzekli šajā sarakstā, ir proporcionāls diviem, kas izvirzīti tā atrašanās vietai. > jebkurā valodas dizainā kopējais laiks, kas pavadīts, apspriežot kādu līdzekli šajā sarakstā, ir proporcionāls diviem, kas izvirzīti tā atrašanās vietai.
> >
@@ -489,11 +494,11 @@ Spotify modelis popularizē arī Tribes, Guilds, Chapters jēdzienus, kas ir cit
> >
> (īsāk sakot, par katru semantiku pavadīto stundu komentāru sintaksē tiks pavadītas 8 stundas). > (īsāk sakot, par katru semantiku pavadīto stundu komentāru sintaksē tiks pavadītas 8 stundas).
Līdzīgi kā [Trivialitātes likums](#the-Constitutional-of-triviality), Wadler's Law nosaka, ka, projektējot valodu, laika apjoms, kas tiek tērēts valodas konstrukcijām, ir nesamērīgi augsts salīdzinājumā ar šo iezīmju nozīmi. Līdzīgi kā [Trivialitātes likums](#trivialitātes-likums), Wadlera likums nosaka, ka, projektējot valodu, laika apjoms, kas tiek tērēts valodas konstrukcijām, ir nesamērīgi augsts salīdzinājumā ar šo iezīmju nozīmi.
Skatīt arī: Skatīt arī:
- [Trivialitātes likums](#the-law-of-triviality) - [Trivialitātes likums](#trivialitātes-likums)
### Wheaton likums ### Wheaton likums
@@ -509,24 +514,24 @@ Skatīt arī:
Parasti ir lielāka iespēja, ka principi ir pamatnostādnes, kas attiecas uz dizainu. Parasti ir lielāka iespēja, ka principi ir pamatnostādnes, kas attiecas uz dizainu.
### Dilbert princips ### Dilberta princips
[Dilbert princips par Wikipedia](https://en.wikipedia.org/wiki/Dilbert_principle) [Dilberta princips Vikipēdi](https://en.wikipedia.org/wiki/Dilbert_principle)
> uzņēmumos tiek sistemātiski reklamēti nekompetenti darbinieki vadībai, lai tos izdabūtu no darbplūsmas. > uzņēmumos tiek sistemātiski reklamēti nekompetenti darbinieki vadībai, lai tos izdabūtu no darbplūsmas.
> >
> _Scott Adams_ > _Scott Adams_
Vadības konceptu, ko izstrādājis Skots Adamss (Dilbert komiksu striptīza radītājs), Dilbert Princips iedvesmo [The Peter Principle](#the-peter-principle). Saskaņā ar Dilbert principu darbinieki, kas nekad nav bijuši kompetenti, tiek paaugstināti vadībā, lai ierobežotu kaitējumu, ko viņi var nodarīt. Adams vispirms izskaidroja šo principu 1995. gada “Wall Street Journal” rakstā un izvērsa to savā 1996. gada uzņēmējdarbības grāmatā [The Dilbert Principle](#reading-list). Vadības konceptu, ko izstrādājis Skots Adamss (Dilbert komiksu striptīza radītājs), Dilbert Princips iedvesmo [The Peter Principle](#the-peter-principle). Saskaņā ar Dilbert principu darbinieki, kas nekad nav bijuši kompetenti, tiek paaugstināti vadībā, lai ierobežotu kaitējumu, ko viņi var nodarīt. Adams vispirms izskaidroja šo principu 1995. gada “Wall Street Journal” rakstā un izvērsa to savā 1996. gada uzņēmējdarbības grāmatā [The Dilbert Principle](#lasīšanas-saraksts).
Skatīt arī: Skatīt arī:
- [Peter Principle](#the-peter-principle) - [Petera princips](#petera-princips)
- [putt's Law](#putts-law) - [Putta likums](#putta-likums)
### Pareto princips (kārtula 80/20) ### Pareto princips (kārtula 80/20)
[Pareto Principle on Wikipedia](https://en.wikipedia.org/wiki/Pareto_principle) [Pareto Principle Vikipēdi](https://en.wikipedia.org/wiki/Pareto_principle)
> Vairums lietu dzīvē netiek sadalītas vienmērīgi. > Vairums lietu dzīvē netiek sadalītas vienmērīgi.
@@ -547,9 +552,9 @@ Reālpasaules piemēri:
### Pētera princips ### Pētera princips
[Peter Principle on Wikipedia](https://en.wikipedia.org/wiki/Peter_principle) [Peter Principle Vikipēdi](https://en.wikipedia.org/wiki/Peter_principle)
> cilvēki hierarhijā tiecas sasniegt savu “nekompetences līmeni”. > Cilvēki hierarhijā tiecas sasniegt savu “nekompetences līmeni”.
> >
> _Laurence J. Peter_ > _Laurence J. Peter_
@@ -559,12 +564,12 @@ Tas jo īpaši interesē inženierus, kuri sākotnēji sāk pildīt ļoti tehnis
Skatīt arī: Skatīt arī:
- [Dilbert princips](#the-dilbert-principle) - [Dilberta princips](#dilberta-princips)
- [Putt's Law](#putts-law) - [Putta likums](#putta-likums)
### Uzturības princips (Postel's Law) ### Uzturības princips (Postel's Law)
[Vikipēdijas stabilitātes princips](https://en.wikipedia.org/wiki/Robustness_principle) [Stabilitātes princips Vikipēdijā](https://en.wikipedia.org/wiki/Robustness_principle)
> Esiet konservatīvi pret to, ko darāt, esiet liberāli tajā, ko pieņemat no citiem. > Esiet konservatīvi pret to, ko darāt, esiet liberāli tajā, ko pieņemat no citiem.
@@ -576,23 +581,23 @@ Ja laikus tiks pieļauta neatbilstība, protokola spēja attīstīties var mazin
Skatīt arī: Skatīt arī:
- [Hyrum's Law](#hyruma-likums-perifērisko-saskarņu-likums) - [Hyruma likums](#hyruma-likums-perifērisko-saskarņu-likums)
### SOLID ### SOLID
Tas ir akronīms, kas attiecas uz: Tas ir akronīms, kas attiecas uz:
* S: [Vienotās atbildības princips](#the-single-responsibility-principle) * S: [Vienotās atbildības princips](#vienotās-atbildības-princips)
* O: [Atklātais/slēgtais princips](#the-openclosed-principle) * O: [Atklātais/slēgtais princips](#atklātaisslēgtais-princips)
* L: [Liskova aizstāšanas princips](#the-liskov-substitution-principle) * L: [Liskova aizstāšanas princips](#liskova-aizstāšanas-princips)
* I: [Interfeisa segmenta noteikšanas princips](#the-interface-segregation-principle) * I: [Interfeisa segmenta noteikšanas princips](#interfeisa-segmenta-noteikšanas-princips)
* D: [Atkarības inversijas princips](#the-dependence-inversion-principle) * D: [Atkarības inversijas princips](#atkarības-inversijas-princips)
Šie ir galvenie principi programmā [Object-oriented Programming](#TODO). Projektēšanas principiem ir jābūt tādiem, kas var palīdzēt izstrādātājiem veidot labāk funkcionējošas sistēmas. Šie ir galvenie principi programmā [Object-oriented Programming](#TODO). Projektēšanas principiem ir jābūt tādiem, kas var palīdzēt izstrādātājiem veidot labāk funkcionējošas sistēmas.
### Vienotās atbildības princips ### Vienotās atbildības princips
[Vienotās atbildības princips Vikipediā](https://en.wikipedia.org/wiki/Single_responsibility_principle) [Vienotās atbildības princips Vikipēdiā](https://en.wikipedia.org/wiki/Single_responsibility_principle)
> katram modulim vai klasei ir jābūt tikai vienai atbildībai. > katram modulim vai klasei ir jābūt tikai vienai atbildībai.
@@ -607,7 +612,7 @@ Skatīt arī:
### Open/Slēgts princips ### Open/Slēgts princips
[Wikipedia atklātais/slēgtais princips](https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle) [Atklātais/slēgtais princips Vikipēdijā](https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle)
> entītijām jābūt atvērtām paplašinājumam un slēgtām modificēšanai. > entītijām jābūt atvērtām paplašinājumam un slēgtām modificēšanai.
@@ -624,7 +629,7 @@ Skatīt arī:
### Liskova aizstāšanas princips ### Liskova aizstāšanas princips
[Liskov Substitution Principle on Wikipedia](https://en.wikipedia.org/wiki/Liskov_substitution_principle) [Liskova aizstāšanas princips Vikipēdi](https://en.wikipedia.org/wiki/Liskov_substitution_principle)
> ir jābūt iespējai aizstāt tipu ar apakštipu, nelaužot sistēmu. > ir jābūt iespējai aizstāt tipu ar apakštipu, nelaužot sistēmu.
@@ -639,9 +644,9 @@ Skatīt arī:
- [Uz objektu vērsta programmēšana](#TODO) - [Uz objektu vērsta programmēšana](#TODO)
- [SOLID](#solid) - [SOLID](#solid)
### interfeisa segmenta noteikšanas princips ### Interfeisa segmenta noteikšanas princips
[Interface Segregation Principle on Wikipedia](https://en.wikipedia.org/wiki/Interface_segregation_principle) [Interfeisa segmenta noteikšanas princips Vikipēdi](https://en.wikipedia.org/wiki/Interface_segregation_principle)
> Neviens klients nedrīkst būt atkarīgs no metodēm, ko tas neizmanto. > Neviens klients nedrīkst būt atkarīgs no metodēm, ko tas neizmanto.
@@ -668,7 +673,7 @@ Piektā daļa no “[SOLID](#solid)” principiem. Šis princips nosaka, ka liel
Piemēram, iedomājieties, ka mums ir programma, kas lasa metadatus no vietnes. Mēs pieņemam, ka galvenais komponents būtu jāzina par komponentu, lai lejupielādētu tīmekļa lapas saturu, pēc tam komponentu, kas var lasīt metadatus. Ja mēs ņemtu vērā atkarības inversiju, galvenais komponents būtu atkarīgs tikai no abstrakta komponenta, kas var iegūt baitu datus, un pēc tam no abstrakta komponenta, kas spētu nolasīt metadatus no baitu straumes. Galvenais komponents nezinātu par TCP/IP, HTTP, HTML utt. Piemēram, iedomājieties, ka mums ir programma, kas lasa metadatus no vietnes. Mēs pieņemam, ka galvenais komponents būtu jāzina par komponentu, lai lejupielādētu tīmekļa lapas saturu, pēc tam komponentu, kas var lasīt metadatus. Ja mēs ņemtu vērā atkarības inversiju, galvenais komponents būtu atkarīgs tikai no abstrakta komponenta, kas var iegūt baitu datus, un pēc tam no abstrakta komponenta, kas spētu nolasīt metadatus no baitu straumes. Galvenais komponents nezinātu par TCP/IP, HTTP, HTML utt.
Šis princips ir sarežģīts, jo var šķist, ka tas "apgriež” sagaidāmās sistēmas (tātad nosaukuma) atkarības. Praksē tas nozīmē arī to, ka atsevišķam orķestrācijas komponentam ir jānodrošina abstrakto tipu pareiza ieviešana (piemēram, iepriekšējā piemērā _kaut kam_ joprojām ir jānodrošina metadatu lasītāja komponents HTTP faila lejupielādētājs un HTML metatagu lasītājs). Tas pieskaras tādiem modeļiem kā [Inversion of Control](#TODO) un [Dependency Injection](Atkarības injekcija)(#TODO). Šis princips ir sarežģīts, jo var šķist, ka tas "apgriež” sagaidāmās sistēmas (tātad nosaukuma) atkarības. Praksē tas nozīmē arī to, ka atsevišķam orķestrācijas komponentam ir jānodrošina abstrakto tipu pareiza ieviešana (piemēram, iepriekšējā piemērā _kaut kam_ joprojām ir jānodrošina metadatu lasītāja komponents HTTP faila lejupielādētājs un HTML metatagu lasītājs). Tas pieskaras tādiem modeļiem kā [Inversion of Control](#TODO) un [Atkarības injekcija](#TODO).
Skatīt arī: Skatīt arī:
@@ -679,11 +684,15 @@ Skatīt arī:
### DRY princips ### DRY princips
[The DRY Principle on Wikipedia](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) [DRY princips Vikipēdi](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)
> Katram zināšanu gabalam ir jābūt vienotam, nepārprotamam, autoritatīvam attēlojumam sistēmā.SAUSS ir akronīms _Neatkārtot sevi_. Šī principa mērķis ir palīdzēt izstrādātājiem samazināt koda atkārtojumu un saglabāt informāciju vienā vietā, un 1999. gadā to citēja Endrū Bads un Deivs Tomass grāmatā [The Praietverot izstrādātāju](https://en.wikipedia.org/wiki/The_Pragmatic_Programmer) > Katram zināšanu gabalam ir jābūt vienotam, nepārprotamam, autoritatīvam attēlojumam sistēmā.
> PRETĒJS sausums būtu _WET_ (Rakstiet All Twice vai We Enjoy Typing).Praksē, ja jums ir viena un tā pati informācija divās (vai vairākās) dažādās vietās, varat izmantot SAUSUMU, lai sapludinātu tās vienā un atkārtoti izmantotu visur, kur vēlaties/vajag. DRY ir akronīms _Neatkārtot sevi_. Šī principa mērķis ir palīdzēt izstrādātājiem samazināt koda atkārtojumu un saglabāt informāciju vienā vietā, un 1999. gadā to citēja Endrū Bads un Deivs Tomass grāmatā [The Praietverot izstrādātāju](https://en.wikipedia.org/wiki/The_Pragmatic_Programmer)
> PRETĒJS sausums būtu _WET_ (Rakstiet All Twice vai We Enjoy Typing).
Praksē, ja jums ir viena un tā pati informācija divās (vai vairākās) dažādās vietās, varat izmantot DRY, lai sapludinātu tās vienā un atkārtoti izmantotu visur, kur vēlaties/vajag.
Skatīt arī: Skatīt arī:
@@ -691,7 +700,7 @@ Skatīt arī:
### KISS princips ### KISS princips
[KISS uz Wikipedia](https://en.wikipedia.org/wiki/KISS_principle) [KISS princips Vikipēdi](https://en.wikipedia.org/wiki/KISS_principle)
> saglabāt vienkāršu, stulbu > saglabāt vienkāršu, stulbu
@@ -705,7 +714,7 @@ Skatīt arī:
### YAGNI ### YAGNI
[YAGNI on Wikipedia](https://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it) [YAGNI Vikipēdi](https://en.wikipedia.org/wiki/You_ain%27t_gonna_need_it)
Šis ir akronīms, kas paredzēts _**Y**ou **A**in't **G**onna **N**eed **I**t_. Šis ir akronīms, kas paredzēts _**Y**ou **A**in't **G**onna **N**eed **I**t_.
@@ -719,11 +728,11 @@ Ievērojot šo principu, būtu jāsamazina neizmantotā koda daudzums konvertāc
Skatīt arī: Skatīt arī:
- [reading List: Extreme Programming Installed](#reading saraksts) - [Lasīšanas saraksts: Extreme Programming Installed](#lasīšanas-saraksts)
### Dalītās datošanas Fallacies ### Dalītās datošanas maldības
[Dalītās datošanas Fallacies Wikipedia](https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing) [Dalītās datošanas maldības Vikipēdi](https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing)
Fallacies, ko dēvē arī par _Networking Computing_, ir Fallacies saraksts ar pieņēmumiem (vai uzskatiem) par dalīto skaitļošanu, kas var novest pie kļūmēm programmatūras izstrādē. Pieņēmumi ir šādi: Fallacies, ko dēvē arī par _Networking Computing_, ir Fallacies saraksts ar pieņēmumiem (vai uzskatiem) par dalīto skaitļošanu, kas var novest pie kļūmēm programmatūras izstrādē. Pieņēmumi ir šādi:
@@ -738,13 +747,13 @@ Fallacies, ko dēvē arī par _Networking Computing_, ir Fallacies saraksts ar p
Pirmo četru pozīciju sarakstā bija iekļauti [Bill Joy](https://en.wikipedia.org/wiki/Bill_Joy) un [Tom Lyon](https://twitter.com/aka_pugs) aptuveni 1991. gadā, un tās pirmo reizi klasificēja [James Gosling](https://en.wikipedia.org/wiki/James_Gosling) kā “Networks Computing” Fallacies. [L. Peter Deutsch](https://en.wikipedia.org/wiki/L._Peter_Deutsch) pievienoja 5., 6. un 7. 90. gadu beigās Goslings pievienoja 8. maldu. Pirmo četru pozīciju sarakstā bija iekļauti [Bill Joy](https://en.wikipedia.org/wiki/Bill_Joy) un [Tom Lyon](https://twitter.com/aka_pugs) aptuveni 1991. gadā, un tās pirmo reizi klasificēja [James Gosling](https://en.wikipedia.org/wiki/James_Gosling) kā “Networks Computing” Fallacies. [L. Peter Deutsch](https://en.wikipedia.org/wiki/L._Peter_Deutsch) pievienoja 5., 6. un 7. 90. gadu beigās Goslings pievienoja 8. maldu.
Grupu iedvesmoja tas, kas tolaik notika [Saules mikrosistēmās](https://en.wikipedia.org/wiki/Sun_Microsystems). Grupu iedvesmoja tas, kas tolaik notika [Sun Microsystems](https://en.wikipedia.org/wiki/Sun_Microsystems).
Šīs kļūdas būtu rūpīgi jāapsver, izstrādājot kodu, kas ir elastīgs; pieņemot, ka kāds no šiem viltojumiem var novest pie kļūdainas loģikas, kas nerisina dalīto sistēmu realitāti un sarežģītību. Šīs kļūdas būtu rūpīgi jāapsver, izstrādājot kodu, kas ir elastīgs; pieņemot, ka kāds no šiem viltojumiem var novest pie kļūdainas loģikas, kas nerisina dalīto sistēmu realitāti un sarežģītību.
Skatīt arī: Skatīt arī:
- [Barošana dalītās datošanas Fallacies (1. daļa) — Vaidehi Jošipar vidēju](https://medium.com/baseds/foraging-for-the-fallacies-of-trapped-part-1-1b35c3b85b53) - [Barošana dalītās datošanas maldības (1. daļa) — Vaidehi Jošipar vidēju](https://medium.com/baseds/foraging-for-the-fallacies-of-trapped-part-1-1b35c3b85b53)
- [Deutsch's Fallacies, 10 years After](http://java.sys-con.com/node/38665) - [Deutsch's Fallacies, 10 years After](http://java.sys-con.com/node/38665)
## Lasīšanas saraksts ## Lasīšanas saraksts
@@ -753,10 +762,14 @@ Ja šos jēdzienus esat uzskatījis par interesantiem, varat baudīt šādas gr
- [Extreme Programming Installed - Ron Jeffries, Ann Anderson, Chet Hendrikson](https://www.goodreads.com/en/book/show/67834). - [Extreme Programming Installed - Ron Jeffries, Ann Anderson, Chet Hendrikson](https://www.goodreads.com/en/book/show/67834).
- [The Mythical Man Monthly - Frederik P. Brooks Jr.](https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month) - Klasisks sējums par programmatūras inženieriju. [Brūku likums](#bruku-likums) ir grāmatas galvenā tēma. - [The Mythical Man Monthly - Frederik P. Brooks Jr.](https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month) - Klasisks sējums par programmatūras inženieriju. [Brūku likums](#bruku-likums) ir grāmatas galvenā tēma.
- [Gödel, Escher, Bahs: An Mūžīgais Zelta Breids - Duglass R. Hofštters.](https://www.goodreads.com/book/show/24113.G_del_Escher_Bach) - Šo grāmatu ir grūti klasificēt. [hofstadter's Law](#hofstadtera-likums) ir no grāmatas. - [Gödel, Escher, Bahs: An Mūžīgais Zelta Breids - Duglass R. Hofštters.](https://www.goodreads.com/book/show/24113.G_del_Escher_Bach) - Šo grāmatu ir grūti klasificēt. [hofstadtera likums](#hofstadtera-likums) ir no grāmatas.
- [Dilbert princips - Scott Adams](https://www.goodreads.com/book/show/85574.The_Dilbert_Principle) - Komisks skats uz korporatīvo Ameriku, no autora, kurš radīja [Dilbert principu](#the-dilbert-principle). - [Dilberta princips - Scott Adams](https://www.goodreads.com/book/show/85574.The_Dilbert_Principle) - Komisks skats uz korporatīvo Ameriku, no autora, kurš radīja [Dilbert principu](#the-dilbert-principle).
- [The Peter Principle - Lawrence J. Peter](https://www.goodreads.com/book/show/890728.The_Peter_Principle) - Vēl viens komisks skatījums uz lielāku organizāciju un tautas menedžmenta izaicinājumiem, [The Peter Principle](#the-peter-principle) avots. - [The Peter Principle - Lawrence J. Peter](https://www.goodreads.com/book/show/890728.The_Peter_Principle) - Vēl viens komisks skatījums uz lielāku organizāciju un tautas menedžmenta izaicinājumiem, [The Peter Principle](#the-peter-principle) avots.
## Saistītie projekti
- Dienas padoms - saņemiet ikdienas hakeru likumu/principu.
## Ieguldījums ## Ieguldījums
Lūdzu, sniedziet ieguldījumu! [celiet problēmu](https://github.com/dwmkerr/hacker-laws/issues/new), ja vēlaties ierosināt papildinājumu vai izmaiņas, vai [Atvērt vilkšanas pieprasījumu](https://github.com/dwmkerr/hacker-law/compare), lai piedāvātu savas izmaiņas. Lūdzu, sniedziet ieguldījumu! [celiet problēmu](https://github.com/dwmkerr/hacker-laws/issues/new), ja vēlaties ierosināt papildinājumu vai izmaiņas, vai [Atvērt vilkšanas pieprasījumu](https://github.com/dwmkerr/hacker-law/compare), lai piedāvātu savas izmaiņas.