From b950c6488103375a96ddf75b6202241d728f1a61 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Wed, 8 Feb 2023 23:26:54 +0400 Subject: [PATCH 01/10] Created file for Georgian translation and translated preface --- README.ka-GE.md | 415 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 415 insertions(+) create mode 100644 README.ka-GE.md diff --git a/README.ka-GE.md b/README.ka-GE.md new file mode 100644 index 0000000..206e66e --- /dev/null +++ b/README.ka-GE.md @@ -0,0 +1,415 @@ +# State-of-the-Art Shitcode Principles +# უვარგისი კოდის წერის თანამედროვე პრინციპები + +[![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) + +This a list of state-of-the-art shitcode principles your project should follow to call it a proper shitcode. +უვარგისი კოდის წერის თანამედროვე პრინციპები, რომლებსაც თქვენი პროექტი აუცილებლად უნდა აკმაყოფილებდას, რათა მის უვარგისობაში ეჭვი არავის შეეპაროს. + +_წინამდებარე დოკუმენტი ასევე ხელმისაწვდომია შემდეგ ენებზე:_ +[_English_](README.md), +[_简体中文_](README.zh-CN.md), +[_한국어_](README.ko-KR.md) + +## Get Your Badge +## ემბლემა დამსახურებისამებრ + +If your repository follows the state-of-the-art shitcode principles you may use the following "state-of-the-art shitcode" badge: +თუკი თქვენს საცავში (_რეპოზიტორი_) მკაცრად არის დაცული უვარგისი კოდის წერის პრინციპები, შეგიძლიათ ეს მიღწევა აღნიშნოთ შემდეგი ემბლემის გამოყენებით: + +[![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) + +Markdown source-code for the badge: +მოცემული ემბლემის გამოსახვისათვის საჭირო კოდი (_Markdown_): + +``` +[![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) +``` + +## The Principles + +### 💩 Name variables in a way as if your code was already obfuscated + +Fewer keystrokes, more time for you. + +_Good 👍🏻_ + +```javascript +let a = 42; +``` + +_Bad 👎🏻_ + +```javascript +let age = 42; +``` + +### 💩 Mix variable/functions naming style + +Celebrate the difference. + +_Good 👍🏻_ + +```javascript +let wWidth = 640; +let w_height = 480; +``` + +_Bad 👎🏻_ + +```javascript +let windowWidth = 640; +let windowHeight = 480; +``` + +### 💩 Never write comments + +No one is going to read your code anyway. + +_Good 👍🏻_ + +```javascript +const cdr = 700; +``` + +_Bad 👎🏻_ + +More often comments should contain some 'why' and not some 'what'. If the 'what' is not clear in the code, the code is probably too messy. + +```javascript +// The number of 700ms has been calculated empirically based on UX A/B test results. +// @see: +const callbackDebounceRate = 700; +``` + +### 💩 Always write comments in your native language + +If you violated the "No comments" principle then at least try to write comments in a language that is different from the language you use to write the code. If your native language is English you may violate this principle. + +_Good 👍🏻_ + +```javascript +// Закриваємо модальне віконечко при виникненні помилки. +toggleModal(false); +``` + +_Bad 👎🏻_ + +```javascript +// Hide modal window on error. +toggleModal(false); +``` + +### 💩 Try to mix formatting style as much as possible + +Celebrate the difference. + +_Good 👍🏻_ + +```javascript +let i = ['tomato', 'onion', 'mushrooms']; +let d = [ "ketchup", "mayonnaise" ]; +``` + +_Bad 👎🏻_ + +```javascript +let ingredients = ['tomato', 'onion', 'mushrooms']; +let dressings = ['ketchup', 'mayonnaise']; +``` + +### 💩 Put as much code as possible into one line + +_Good 👍🏻_ + +```javascript +document.location.search.replace(/(^\?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{}) +``` + +_Bad 👎🏻_ + +```javascript +document.location.search + .replace(/(^\?)/, '') + .split('&') + .reduce((searchParams, keyValuePair) => { + keyValuePair = keyValuePair.split('='); + searchParams[keyValuePair[0]] = keyValuePair[1]; + return searchParams; + }, + {} +) +``` + +### 💩 Fail silently + +Whenever you catch an error it is not necessary for anyone to know about it. No logs, no error modals, chill. + +_Good 👍🏻_ + +```javascript +try { + // Something unpredictable. +} catch (error) { + // tss... 🤫 +} +``` + +_Bad 👎🏻_ + +```javascript +try { + // Something unpredictable. +} catch (error) { + setErrorMessage(error.message); + // and/or + logError(error); +} +``` + +### 💩 Use global variables extensively + +Globalization principle. + +_Good 👍🏻_ + +```javascript +let x = 5; + +function square() { + x = x ** 2; +} + +square(); // Now x is 25. +``` + +_Bad 👎🏻_ + +```javascript +let x = 5; + +function square(num) { + return num ** 2; +} + +x = square(x); // Now x is 25. +``` + +### 💩 Create variables that you're not going to use. + +Just in case. + +_Good 👍🏻_ + +```javascript +function sum(a, b, c) { + const timeout = 1300; + const result = a + b; + return a + b; +} +``` + +_Bad 👎🏻_ + +```javascript +function sum(a, b) { + return a + b; +} +``` + +### 💩 Don't specify types and/or don't do type checks if language allows you to do so. + +_Good 👍🏻_ + +```javascript +function sum(a, b) { + return a + b; +} + +// Having untyped fun here. +const guessWhat = sum([], {}); // -> "[object Object]" +const guessWhatAgain = sum({}, []); // -> 0 +``` + +_Bad 👎🏻_ + +```javascript +function sum(a: number, b: number): ?number { + // Covering the case when we don't do transpilation and/or Flow type checks in JS. + if (typeof a !== 'number' && typeof b !== 'number') { + return undefined; + } + return a + b; +} + +// This one should fail during the transpilation/compilation. +const guessWhat = sum([], {}); // -> undefined +``` + +### 💩 You need to have an unreachable piece of code + +This is your "Plan B". + +_Good 👍🏻_ + +```javascript +function square(num) { + if (typeof num === 'undefined') { + return undefined; + } + else { + return num ** 2; + } + return null; // This is my "Plan B". +} +``` + +_Bad 👎🏻_ + +```javascript +function square(num) { + if (typeof num === 'undefined') { + return undefined; + } + return num ** 2; +} +``` + +### 💩 Triangle principle + +Be like a bird - nest, nest, nest. + +_Good 👍🏻_ + +```javascript +function someFunction() { + if (condition1) { + if (condition2) { + asyncFunction(params, (result) => { + if (result) { + for (;;) { + if (condition3) { + } + } + } + }) + } + } +} +``` + +_Bad 👎🏻_ + +```javascript +async function someFunction() { + if (!condition1 || !condition2) { + return; + } + + const result = await asyncFunction(params); + if (!result) { + return; + } + + for (;;) { + if (condition3) { + } + } +} +``` + +### 💩 Mess with indentations + +Avoid indentations since they make complex code take up more space in the editor. If you're not feeling like avoiding them then just mess with them. + +_Good 👍🏻_ + +```javascript +const fruits = ['apple', + 'orange', 'grape', 'pineapple']; + const toppings = ['syrup', 'cream', + 'jam', + 'chocolate']; +const desserts = []; +fruits.forEach(fruit => { +toppings.forEach(topping => { + desserts.push([ +fruit,topping]); + });}) +``` + +_Bad 👎🏻_ + +```javascript +const fruits = ['apple', 'orange', 'grape', 'pineapple']; +const toppings = ['syrup', 'cream', 'jam', 'chocolate']; +const desserts = []; + +fruits.forEach(fruit => { + toppings.forEach(topping => { + desserts.push([fruit, topping]); + }); +}) +``` + +### 💩 Do not lock your dependencies + +Update your dependencies on each new installation in uncontrolled way. Why stick to the past, let's use the cutting edge libraries versions. + +_Good 👍🏻_ + +``` +$ ls -la + +package.json +``` + +_Bad 👎🏻_ + +``` +$ ls -la + +package.json +package-lock.json +``` + +### 💩 Always name your boolean value a `flag` + +Leave the space for your colleagues to think what the boolean value means. + +_Good 👍🏻_ + +```javascript +let flag = true; +``` + +_Bad 👎🏻_ + +```javascript +let isDone = false; +let isEmpty = false; +``` + +### 💩 Long-read functions are better than short ones. + +Don't divide a program logic into readable pieces. What if your IDE's search breaks and you will not be able to find the necessary file or function? + +- 10000 lines of code in one file is OK. +- 1000 lines of a function body is OK. +- Dealing with many services (3rd party and internal, also, there are some helpers, database hand-written ORM and jQuery slider) in one `service.js`? It's OK. + +### 💩 Avoid covering your code with tests + +This is a duplicate and unnecessary amount of work. + +### 💩 As hard as you can try to avoid code linters + +Write code as you want, especially if there is more than one developer in a team. This is a "freedom" principle. + +### 💩 Start your project without a README file. + +And keep it that way for the time being. + +### 💩 You need to have unnecessary code + +Don't delete the code your app doesn't use. At most, comment it. From d9c503498a340a43cb26def8f1e5c6d31e7b85a3 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Wed, 8 Feb 2023 23:36:40 +0400 Subject: [PATCH 02/10] Translated first principle --- README.ka-GE.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index 206e66e..e48e4f2 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -27,18 +27,21 @@ Markdown source-code for the badge: ``` ## The Principles +## პრინციპები ### 💩 Name variables in a way as if your code was already obfuscated +### 💩 ცვლადებისათვის სახელები ისე შეარჩიეთ, რომ თქვენი კოდი ბუნდოვანი გახდეს Fewer keystrokes, more time for you. +ნაკლები ბარტყუნი კლავიშებზე, დროის დანაზოგი თქვენთვის. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript let a = 42; ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript let age = 42; From 2c908fae040f06f90c61cea9d3cb6ef3bbea6966 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Wed, 8 Feb 2023 23:38:10 +0400 Subject: [PATCH 03/10] Translated all 'goods' and 'bads' --- README.ka-GE.md | 56 ++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index e48e4f2..c1c34fe 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -51,14 +51,14 @@ let age = 42; Celebrate the difference. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript let wWidth = 640; let w_height = 480; ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript let windowWidth = 640; @@ -69,13 +69,13 @@ let windowHeight = 480; No one is going to read your code anyway. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript const cdr = 700; ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ More often comments should contain some 'why' and not some 'what'. If the 'what' is not clear in the code, the code is probably too messy. @@ -89,14 +89,14 @@ const callbackDebounceRate = 700; If you violated the "No comments" principle then at least try to write comments in a language that is different from the language you use to write the code. If your native language is English you may violate this principle. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript // Закриваємо модальне віконечко при виникненні помилки. toggleModal(false); ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript // Hide modal window on error. @@ -107,14 +107,14 @@ toggleModal(false); Celebrate the difference. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript let i = ['tomato', 'onion', 'mushrooms']; let d = [ "ketchup", "mayonnaise" ]; ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript let ingredients = ['tomato', 'onion', 'mushrooms']; @@ -123,13 +123,13 @@ let dressings = ['ketchup', 'mayonnaise']; ### 💩 Put as much code as possible into one line -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript document.location.search.replace(/(^\?)/,'').split('&').reduce(function(o,n){n=n.split('=');o[n[0]]=n[1];return o},{}) ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript document.location.search @@ -148,7 +148,7 @@ document.location.search Whenever you catch an error it is not necessary for anyone to know about it. No logs, no error modals, chill. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript try { @@ -158,7 +158,7 @@ try { } ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript try { @@ -174,7 +174,7 @@ try { Globalization principle. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript let x = 5; @@ -186,7 +186,7 @@ function square() { square(); // Now x is 25. ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript let x = 5; @@ -202,7 +202,7 @@ x = square(x); // Now x is 25. Just in case. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript function sum(a, b, c) { @@ -212,7 +212,7 @@ function sum(a, b, c) { } ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript function sum(a, b) { @@ -222,7 +222,7 @@ function sum(a, b) { ### 💩 Don't specify types and/or don't do type checks if language allows you to do so. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript function sum(a, b) { @@ -234,7 +234,7 @@ const guessWhat = sum([], {}); // -> "[object Object]" const guessWhatAgain = sum({}, []); // -> 0 ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript function sum(a: number, b: number): ?number { @@ -253,7 +253,7 @@ const guessWhat = sum([], {}); // -> undefined This is your "Plan B". -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript function square(num) { @@ -267,7 +267,7 @@ function square(num) { } ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript function square(num) { @@ -282,7 +282,7 @@ function square(num) { Be like a bird - nest, nest, nest. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript function someFunction() { @@ -301,7 +301,7 @@ function someFunction() { } ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript async function someFunction() { @@ -325,7 +325,7 @@ async function someFunction() { Avoid indentations since they make complex code take up more space in the editor. If you're not feeling like avoiding them then just mess with them. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript const fruits = ['apple', @@ -341,7 +341,7 @@ fruit,topping]); });}) ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript const fruits = ['apple', 'orange', 'grape', 'pineapple']; @@ -359,7 +359,7 @@ fruits.forEach(fruit => { Update your dependencies on each new installation in uncontrolled way. Why stick to the past, let's use the cutting edge libraries versions. -_Good 👍🏻_ +_კარგია 👍🏻_ ``` $ ls -la @@ -367,7 +367,7 @@ $ ls -la package.json ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ``` $ ls -la @@ -380,13 +380,13 @@ package-lock.json Leave the space for your colleagues to think what the boolean value means. -_Good 👍🏻_ +_კარგია 👍🏻_ ```javascript let flag = true; ``` -_Bad 👎🏻_ +_ცუდია 👎🏻_ ```javascript let isDone = false; From f2b793f74097bfe0b0c719c52af7a3de6b11a964 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Wed, 8 Feb 2023 23:41:17 +0400 Subject: [PATCH 04/10] Some fixes --- README.ka-GE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index c1c34fe..9ce2081 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -4,7 +4,7 @@ [![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) This a list of state-of-the-art shitcode principles your project should follow to call it a proper shitcode. -უვარგისი კოდის წერის თანამედროვე პრინციპები, რომლებსაც თქვენი პროექტი აუცილებლად უნდა აკმაყოფილებდას, რათა მის უვარგისობაში ეჭვი არავის შეეპაროს. +უვარგისი კოდის წერის თანამედროვე პრინციპები, რომლებსაც თქვენი პროექტი აუცილებლად უნდა იცავდეს, რათა მის უვარგისობაში ეჭვი არავის შეეპაროს. _წინამდებარე დოკუმენტი ასევე ხელმისაწვდომია შემდეგ ენებზე:_ [_English_](README.md), @@ -15,7 +15,7 @@ _წინამდებარე დოკუმენტი ასევე ## ემბლემა დამსახურებისამებრ If your repository follows the state-of-the-art shitcode principles you may use the following "state-of-the-art shitcode" badge: -თუკი თქვენს საცავში (_რეპოზიტორი_) მკაცრად არის დაცული უვარგისი კოდის წერის პრინციპები, შეგიძლიათ ეს მიღწევა აღნიშნოთ შემდეგი ემბლემის გამოყენებით: +თუკი თქვენს საცავში (_repository_-ში) მკაცრად არის დაცული უვარგისი კოდის წერის პრინციპები, შეგიძლიათ ეს მიღწევა აღნიშნოთ შემდეგი ემბლემის გამოყენებით: [![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) From a053a4c5130382bb57996c81117da9d5809825b4 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Thu, 9 Feb 2023 01:12:56 +0400 Subject: [PATCH 05/10] Fully translated --- README.ka-GE.md | 61 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index 9ce2081..1291fef 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -48,8 +48,10 @@ let age = 42; ``` ### 💩 Mix variable/functions naming style +### 💩 ერთმანეთში აურიეთ ცვლადებისა და ფუნქციების სახელდების სტილი Celebrate the difference. +დიდება მრავალფეროვნებას! _კარგია 👍🏻_ @@ -66,8 +68,10 @@ let windowHeight = 480; ``` ### 💩 Never write comments +### 💩 არასოდეს დაწეროთ კომენტარები No one is going to read your code anyway. +თქვენი კოდის წაკითხვას მაინც არავინ აპირებს. _კარგია 👍🏻_ @@ -78,6 +82,7 @@ const cdr = 700; _ცუდია 👎🏻_ More often comments should contain some 'why' and not some 'what'. If the 'what' is not clear in the code, the code is probably too messy. +კომენტარები უმეტესწილად უნდა შეიცავდეს „რატომ“-ს და არა „რა“-ს. თუ კოდში „რა“ ბუნდოვანია, მაშასადამე, კოდი მეტისმეტად მოუწესრიგებელია. ```javascript // The number of 700ms has been calculated empirically based on UX A/B test results. @@ -86,8 +91,10 @@ const callbackDebounceRate = 700; ``` ### 💩 Always write comments in your native language +### 💩 კომენტარები ყოველთვის წერეთ თქვენს მშობლიურ ენაზე If you violated the "No comments" principle then at least try to write comments in a language that is different from the language you use to write the code. If your native language is English you may violate this principle. +თუკი უგულებელყოფთ პრინციპს „კომენტარების გარეშე“, მაშინ კომენტარები ისეთ ენაზე მაინც დაწერეთ, რომელიც განსხვავებული იქნება იმ ენისაგან, რომელსაც კოდის საწერად იყენებთ. თუ თქვენი მშობლიეური ენა არის ინგლისური, შეგიძლიათ მოცემული პრინციპი უგულებელყოთ. _კარგია 👍🏻_ @@ -104,8 +111,10 @@ toggleModal(false); ``` ### 💩 Try to mix formatting style as much as possible +### 💩 შეძლებისდაგვარად მაქსიმალურად მოახდინეთ ფორმატირების სტილთა არევ-დარევა Celebrate the difference. +დიდება მრავალფეროვნებას! _კარგია 👍🏻_ @@ -122,6 +131,7 @@ let dressings = ['ketchup', 'mayonnaise']; ``` ### 💩 Put as much code as possible into one line +### 💩 განათავსეთ რაც შეიძლება მეტი კოდი ერთ ხაზზე _კარგია 👍🏻_ @@ -144,17 +154,18 @@ document.location.search ) ``` -### 💩 Fail silently +### 💩 განიცადეთ კრახი უჩუმრად Whenever you catch an error it is not necessary for anyone to know about it. No logs, no error modals, chill. +როდესაც რაიმე შეცდომას აღმოაჩენთ, არ არის საჭირო, ამის შესახებ ვინმემ რამე იცოდეს. არანაირი აღრიცხვა, არანაირი შეტყობინებები შეცდომის შესახებ, მოდუნდით. _კარგია 👍🏻_ ```javascript try { - // Something unpredictable. + // რაღაც არაპროგნოზირებადი. } catch (error) { - // tss... 🤫 + // ჩშშ... 🤫 } ``` @@ -162,17 +173,19 @@ _ცუდია 👎🏻_ ```javascript try { - // Something unpredictable. + // რაღაც არაპროგნოზირებადი. } catch (error) { setErrorMessage(error.message); - // and/or + // ან/და logError(error); } ``` ### 💩 Use global variables extensively +### 💩 ფართოდ გამოიყენეთ გლობალური ცვლადები Globalization principle. +გლობალიზაციის პრინციპი. _კარგია 👍🏻_ @@ -183,7 +196,7 @@ function square() { x = x ** 2; } -square(); // Now x is 25. +square(); // ახლა x არის 25. ``` _ცუდია 👎🏻_ @@ -195,12 +208,14 @@ function square(num) { return num ** 2; } -x = square(x); // Now x is 25. +x = square(x); // ახლა x არის 25. ``` ### 💩 Create variables that you're not going to use. +### 💩 შექმენით ცვლადები, რომლებსაც არ გამოიყენებთ Just in case. +ყოველი შემთხვევისთვის. _კარგია 👍🏻_ @@ -221,6 +236,7 @@ function sum(a, b) { ``` ### 💩 Don't specify types and/or don't do type checks if language allows you to do so. +### 💩 შეძლებისდაგვარად მოერიდეთ ტიპების განსაზღვრას ან/და ტიპების შემოწმებას იმ ენებში, სადაც ამის საშუალება გაქვთ _კარგია 👍🏻_ @@ -229,7 +245,7 @@ function sum(a, b) { return a + b; } -// Having untyped fun here. +// ისიამოვნეთ უტიპებოდ. const guessWhat = sum([], {}); // -> "[object Object]" const guessWhatAgain = sum({}, []); // -> 0 ``` @@ -238,20 +254,22 @@ _ცუდია 👎🏻_ ```javascript function sum(a: number, b: number): ?number { - // Covering the case when we don't do transpilation and/or Flow type checks in JS. + // აშუქებს შემთხვევას, როცა ჩვენ არ ვახდენთ ტრანსპილაციას ან/და Flow-ს გამოყენებით ტიპების შემოწმებას JS-ში. if (typeof a !== 'number' && typeof b !== 'number') { return undefined; } return a + b; } -// This one should fail during the transpilation/compilation. +// ამან მარცხი უნდა განიცადოს ტრანსპილაციის/კომპილაციის პროცესში. const guessWhat = sum([], {}); // -> undefined ``` ### 💩 You need to have an unreachable piece of code +### 💩 უნდა გქონდეთ კოდის მიუწვდომელი ნაწილები This is your "Plan B". +ეს არის თქვენი „გეგმა B“. _კარგია 👍🏻_ @@ -263,7 +281,7 @@ function square(num) { else { return num ** 2; } - return null; // This is my "Plan B". + return null; // ეს არის ჩემი „გეგმა B“.. } ``` @@ -279,8 +297,10 @@ function square(num) { ``` ### 💩 Triangle principle +### 💩 სამკუთხედის პრინციპი Be like a bird - nest, nest, nest. +მიბაძეთ ჩიტებს — დაიბუდეთ, დაიბუდეთ, დაიბუდეთ. _კარგია 👍🏻_ @@ -322,8 +342,10 @@ async function someFunction() { ``` ### 💩 Mess with indentations +### 💩 აურ-დაურიეთ აბზაცები Avoid indentations since they make complex code take up more space in the editor. If you're not feeling like avoiding them then just mess with them. +მოერიდეთ აბზაცებს, რადგან ისინი ქმნიან კომპლექსურ კოდს, რომელიც მეტ სივრცეს იკავებს რედაქტორში. თუ არ გსურთ, მოერიდოთ მათ, მაშინ ადექით და მათში უწესრიგობა შეიტანეთ. _კარგია 👍🏻_ @@ -356,8 +378,10 @@ fruits.forEach(fruit => { ``` ### 💩 Do not lock your dependencies +### 💩 ნუ დალუქავთ დაქვემდებარებებს (_dependencies_) Update your dependencies on each new installation in uncontrolled way. Why stick to the past, let's use the cutting edge libraries versions. +განაახლეთ თქვენი დაქვემდებარებები ყოველი ახალი ინსტალაციისას უკონტროლოდ. რატომ ჩავრჩეთ წარსულთ, მოდი, გამოვიყენოთ ბიბლიოთეკების უახლესი (არასტაბილური) ვერსიები. _კარგია 👍🏻_ @@ -377,8 +401,10 @@ package-lock.json ``` ### 💩 Always name your boolean value a `flag` +### 💩 ლოგიკური მნიშვნელობის მქონე ცვლადებს ყოველთვის დაარქვით `flag` Leave the space for your colleagues to think what the boolean value means. +მიეცით გასაქანი თქვენს კოლეგებს, დაე იფიქრონ, რას შეიძლება წარმოადგენდეს ეს ლოგიკური მნიშვნელობა. _კარგია 👍🏻_ @@ -394,25 +420,38 @@ let isEmpty = false; ``` ### 💩 Long-read functions are better than short ones. +### 💩 გრძლად დაწერილი ფუნქციები უკეთესია, ვიდრე მოკლედ დაწერილი Don't divide a program logic into readable pieces. What if your IDE's search breaks and you will not be able to find the necessary file or function? +ნუ დაყოფთ პროგრამის ლოგიკას წაკითხვად ფრაგმენტებად. წარმოიდგინეთ, რა შეიძლება მოხდეს, თუკი უეცრად თქვენი IDE-ის ძებნის ფუნქცია მოიშლება და აღარ გექნებათ შესაძლებლობა, მოძებნოთ საჭირო ფაილი თუ ფუნქცია. - 10000 lines of code in one file is OK. +- 10000 ხაზისაგან შემდგარი კოდის ერთ ფაილში განთავსება ჩვეულებრივი ამბავია. - 1000 lines of a function body is OK. +- ფუნქციის ტანის 1000 ხაზისაგან შედგენა ჩვეულებრივი ამბავია. - Dealing with many services (3rd party and internal, also, there are some helpers, database hand-written ORM and jQuery slider) in one `service.js`? It's OK. +- მუშაობთ რამდენიმე სერვისთან (მე-3 მხარის მიერ უზრუნველყოფილთან თუ შიდასთან, ასევე, გაქვთ რამდენიმე დამხმარე ფუნქცია, ნულიდან დაწერილი მონაცემთა ბაზის ORM-ი და jQuery-ის „სლაიდერი“) ერთად-ერთ `service.js`-ში? არაფერია, ჩვეულებრივი ამბავია. ### 💩 Avoid covering your code with tests +### 💩 მოერიდეთ თქვენი კოდის ტესტირებას This is a duplicate and unnecessary amount of work. +ეს არის ზედმეტი და არასაჭირო სამუშაო. ### 💩 As hard as you can try to avoid code linters +### 💩 რაც შეიძლება ძლიერ ეცადეთ, მოერიდოთ კოდის linter-ებს Write code as you want, especially if there is more than one developer in a team. This is a "freedom" principle. +წერეთ კოდი ისე, როგორც თქვენ გინდათ, განსაკუთრებით მაშინ, როცა გუნდი არაერთი დეველოპერისგან შედგება. ეს გახლავთ „თავისუფლების“ პრინციპი. ### 💩 Start your project without a README file. +### 💩 წამოიწყეთ პროექტი README ფაილის გარეშე And keep it that way for the time being. +და ჯერჯერობით ასე დატოვეთ. ### 💩 You need to have unnecessary code +### 💩 უნდა გაგაჩნდეთ არასაჭირო კოდი Don't delete the code your app doesn't use. At most, comment it. +არ წაშალოთ კოდი, რომელსაც თქვენი აპლიკაცია არ იყენებს. დიდი-დიდი, დააკომენტარეთ. From 4bbd0e64ab6b322517de1ec9b1b76133f8cde810 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Thu, 9 Feb 2023 01:26:25 +0400 Subject: [PATCH 06/10] Some improvements --- README.ka-GE.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index 1291fef..41efce5 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -15,7 +15,7 @@ _წინამდებარე დოკუმენტი ასევე ## ემბლემა დამსახურებისამებრ If your repository follows the state-of-the-art shitcode principles you may use the following "state-of-the-art shitcode" badge: -თუკი თქვენს საცავში (_repository_-ში) მკაცრად არის დაცული უვარგისი კოდის წერის პრინციპები, შეგიძლიათ ეს მიღწევა აღნიშნოთ შემდეგი ემბლემის გამოყენებით: +თუკი თქვენს საცავში (_repository_-ში) მკაცრად არის დაცული უვარგისი კოდის წერის პრინციპები, შეგიძლიათ ეს მიღწევა შემდეგი ემბლემის გამოყენებით აღნიშნოთ: [![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) @@ -154,7 +154,7 @@ document.location.search ) ``` -### 💩 განიცადეთ კრახი უჩუმრად +### 💩 კრახი უჩუმრად განიცადეთ Whenever you catch an error it is not necessary for anyone to know about it. No logs, no error modals, chill. როდესაც რაიმე შეცდომას აღმოაჩენთ, არ არის საჭირო, ამის შესახებ ვინმემ რამე იცოდეს. არანაირი აღრიცხვა, არანაირი შეტყობინებები შეცდომის შესახებ, მოდუნდით. @@ -212,7 +212,7 @@ x = square(x); // ახლა x არის 25. ``` ### 💩 Create variables that you're not going to use. -### 💩 შექმენით ცვლადები, რომლებსაც არ გამოიყენებთ +### 💩 შექმენით ცვლადები, რომელთა გამოიყენებასაც არ აპირებთ Just in case. ყოველი შემთხვევისთვის. @@ -266,7 +266,7 @@ const guessWhat = sum([], {}); // -> undefined ``` ### 💩 You need to have an unreachable piece of code -### 💩 უნდა გქონდეთ კოდის მიუწვდომელი ნაწილები +### 💩 უნდა გაგაჩნდეთ კოდის მიუწვდომელი ნაწილები This is your "Plan B". ეს არის თქვენი „გეგმა B“. @@ -345,7 +345,7 @@ async function someFunction() { ### 💩 აურ-დაურიეთ აბზაცები Avoid indentations since they make complex code take up more space in the editor. If you're not feeling like avoiding them then just mess with them. -მოერიდეთ აბზაცებს, რადგან ისინი ქმნიან კომპლექსურ კოდს, რომელიც მეტ სივრცეს იკავებს რედაქტორში. თუ არ გსურთ, მოერიდოთ მათ, მაშინ ადექით და მათში უწესრიგობა შეიტანეთ. +მოერიდეთ აბზაცებს, რადგან ისინი ქმნიან კომპლექსურ კოდს, რომელიც მეტ სივრცეს იკავებს რედაქტორში. თუ არ გსურთ მოერიდოთ მათ, მაშინ ადექით და მათში უწესრიგობა შეიტანეთ. _კარგია 👍🏻_ @@ -381,7 +381,7 @@ fruits.forEach(fruit => { ### 💩 ნუ დალუქავთ დაქვემდებარებებს (_dependencies_) Update your dependencies on each new installation in uncontrolled way. Why stick to the past, let's use the cutting edge libraries versions. -განაახლეთ თქვენი დაქვემდებარებები ყოველი ახალი ინსტალაციისას უკონტროლოდ. რატომ ჩავრჩეთ წარსულთ, მოდი, გამოვიყენოთ ბიბლიოთეკების უახლესი (არასტაბილური) ვერსიები. +განაახლეთ თქვენი დაქვემდებარებები ყოველი ახალი ინსტალაციისას უკონტროლოდ. რატომ ჩავრჩეთ წარსულში, მოდი, გამოვიყენოთ ბიბლიოთეკების უახლესი (არასტაბილური) ვერსიები. _კარგია 👍🏻_ @@ -436,7 +436,7 @@ Don't divide a program logic into readable pieces. What if your IDE's search bre ### 💩 მოერიდეთ თქვენი კოდის ტესტირებას This is a duplicate and unnecessary amount of work. -ეს არის ზედმეტი და არასაჭირო სამუშაო. +ეს არის ზედმეტი და არასაჭიროდ გაწეული შრომა. ### 💩 As hard as you can try to avoid code linters ### 💩 რაც შეიძლება ძლიერ ეცადეთ, მოერიდოთ კოდის linter-ებს From 7e4f552fece37a773b83fd84372e649f17678481 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Thu, 9 Feb 2023 01:29:23 +0400 Subject: [PATCH 07/10] Removed original texts --- README.ka-GE.md | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index 41efce5..9c763f6 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -1,9 +1,7 @@ -# State-of-the-Art Shitcode Principles # უვარგისი კოდის წერის თანამედროვე პრინციპები [![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) -This a list of state-of-the-art shitcode principles your project should follow to call it a proper shitcode. უვარგისი კოდის წერის თანამედროვე პრინციპები, რომლებსაც თქვენი პროექტი აუცილებლად უნდა იცავდეს, რათა მის უვარგისობაში ეჭვი არავის შეეპაროს. _წინამდებარე დოკუმენტი ასევე ხელმისაწვდომია შემდეგ ენებზე:_ @@ -11,28 +9,22 @@ _წინამდებარე დოკუმენტი ასევე [_简体中文_](README.zh-CN.md), [_한국어_](README.ko-KR.md) -## Get Your Badge ## ემბლემა დამსახურებისამებრ -If your repository follows the state-of-the-art shitcode principles you may use the following "state-of-the-art shitcode" badge: თუკი თქვენს საცავში (_repository_-ში) მკაცრად არის დაცული უვარგისი კოდის წერის პრინციპები, შეგიძლიათ ეს მიღწევა შემდეგი ემბლემის გამოყენებით აღნიშნოთ: [![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) -Markdown source-code for the badge: მოცემული ემბლემის გამოსახვისათვის საჭირო კოდი (_Markdown_): ``` [![State-of-the-art Shitcode](https://img.shields.io/static/v1?label=State-of-the-art&message=Shitcode&color=7B5804)](https://github.com/trekhleb/state-of-the-art-shitcode) ``` -## The Principles ## პრინციპები -### 💩 Name variables in a way as if your code was already obfuscated ### 💩 ცვლადებისათვის სახელები ისე შეარჩიეთ, რომ თქვენი კოდი ბუნდოვანი გახდეს -Fewer keystrokes, more time for you. ნაკლები ბარტყუნი კლავიშებზე, დროის დანაზოგი თქვენთვის. _კარგია 👍🏻_ @@ -47,10 +39,8 @@ _ცუდია 👎🏻_ let age = 42; ``` -### 💩 Mix variable/functions naming style ### 💩 ერთმანეთში აურიეთ ცვლადებისა და ფუნქციების სახელდების სტილი -Celebrate the difference. დიდება მრავალფეროვნებას! _კარგია 👍🏻_ @@ -67,10 +57,8 @@ let windowWidth = 640; let windowHeight = 480; ``` -### 💩 Never write comments ### 💩 არასოდეს დაწეროთ კომენტარები -No one is going to read your code anyway. თქვენი კოდის წაკითხვას მაინც არავინ აპირებს. _კარგია 👍🏻_ @@ -81,7 +69,6 @@ const cdr = 700; _ცუდია 👎🏻_ -More often comments should contain some 'why' and not some 'what'. If the 'what' is not clear in the code, the code is probably too messy. კომენტარები უმეტესწილად უნდა შეიცავდეს „რატომ“-ს და არა „რა“-ს. თუ კოდში „რა“ ბუნდოვანია, მაშასადამე, კოდი მეტისმეტად მოუწესრიგებელია. ```javascript @@ -90,10 +77,8 @@ More often comments should contain some 'why' and not some 'what'. If the 'what' const callbackDebounceRate = 700; ``` -### 💩 Always write comments in your native language ### 💩 კომენტარები ყოველთვის წერეთ თქვენს მშობლიურ ენაზე -If you violated the "No comments" principle then at least try to write comments in a language that is different from the language you use to write the code. If your native language is English you may violate this principle. თუკი უგულებელყოფთ პრინციპს „კომენტარების გარეშე“, მაშინ კომენტარები ისეთ ენაზე მაინც დაწერეთ, რომელიც განსხვავებული იქნება იმ ენისაგან, რომელსაც კოდის საწერად იყენებთ. თუ თქვენი მშობლიეური ენა არის ინგლისური, შეგიძლიათ მოცემული პრინციპი უგულებელყოთ. _კარგია 👍🏻_ @@ -110,10 +95,8 @@ _ცუდია 👎🏻_ toggleModal(false); ``` -### 💩 Try to mix formatting style as much as possible ### 💩 შეძლებისდაგვარად მაქსიმალურად მოახდინეთ ფორმატირების სტილთა არევ-დარევა -Celebrate the difference. დიდება მრავალფეროვნებას! _კარგია 👍🏻_ @@ -130,7 +113,6 @@ let ingredients = ['tomato', 'onion', 'mushrooms']; let dressings = ['ketchup', 'mayonnaise']; ``` -### 💩 Put as much code as possible into one line ### 💩 განათავსეთ რაც შეიძლება მეტი კოდი ერთ ხაზზე _კარგია 👍🏻_ @@ -156,7 +138,6 @@ document.location.search ### 💩 კრახი უჩუმრად განიცადეთ -Whenever you catch an error it is not necessary for anyone to know about it. No logs, no error modals, chill. როდესაც რაიმე შეცდომას აღმოაჩენთ, არ არის საჭირო, ამის შესახებ ვინმემ რამე იცოდეს. არანაირი აღრიცხვა, არანაირი შეტყობინებები შეცდომის შესახებ, მოდუნდით. _კარგია 👍🏻_ @@ -181,10 +162,8 @@ try { } ``` -### 💩 Use global variables extensively ### 💩 ფართოდ გამოიყენეთ გლობალური ცვლადები -Globalization principle. გლობალიზაციის პრინციპი. _კარგია 👍🏻_ @@ -211,10 +190,8 @@ function square(num) { x = square(x); // ახლა x არის 25. ``` -### 💩 Create variables that you're not going to use. ### 💩 შექმენით ცვლადები, რომელთა გამოიყენებასაც არ აპირებთ -Just in case. ყოველი შემთხვევისთვის. _კარგია 👍🏻_ @@ -235,7 +212,6 @@ function sum(a, b) { } ``` -### 💩 Don't specify types and/or don't do type checks if language allows you to do so. ### 💩 შეძლებისდაგვარად მოერიდეთ ტიპების განსაზღვრას ან/და ტიპების შემოწმებას იმ ენებში, სადაც ამის საშუალება გაქვთ _კარგია 👍🏻_ @@ -265,10 +241,8 @@ function sum(a: number, b: number): ?number { const guessWhat = sum([], {}); // -> undefined ``` -### 💩 You need to have an unreachable piece of code ### 💩 უნდა გაგაჩნდეთ კოდის მიუწვდომელი ნაწილები -This is your "Plan B". ეს არის თქვენი „გეგმა B“. _კარგია 👍🏻_ @@ -296,10 +270,8 @@ function square(num) { } ``` -### 💩 Triangle principle ### 💩 სამკუთხედის პრინციპი -Be like a bird - nest, nest, nest. მიბაძეთ ჩიტებს — დაიბუდეთ, დაიბუდეთ, დაიბუდეთ. _კარგია 👍🏻_ @@ -341,10 +313,8 @@ async function someFunction() { } ``` -### 💩 Mess with indentations ### 💩 აურ-დაურიეთ აბზაცები -Avoid indentations since they make complex code take up more space in the editor. If you're not feeling like avoiding them then just mess with them. მოერიდეთ აბზაცებს, რადგან ისინი ქმნიან კომპლექსურ კოდს, რომელიც მეტ სივრცეს იკავებს რედაქტორში. თუ არ გსურთ მოერიდოთ მათ, მაშინ ადექით და მათში უწესრიგობა შეიტანეთ. _კარგია 👍🏻_ @@ -377,10 +347,8 @@ fruits.forEach(fruit => { }) ``` -### 💩 Do not lock your dependencies ### 💩 ნუ დალუქავთ დაქვემდებარებებს (_dependencies_) -Update your dependencies on each new installation in uncontrolled way. Why stick to the past, let's use the cutting edge libraries versions. განაახლეთ თქვენი დაქვემდებარებები ყოველი ახალი ინსტალაციისას უკონტროლოდ. რატომ ჩავრჩეთ წარსულში, მოდი, გამოვიყენოთ ბიბლიოთეკების უახლესი (არასტაბილური) ვერსიები. _კარგია 👍🏻_ @@ -400,10 +368,8 @@ package.json package-lock.json ``` -### 💩 Always name your boolean value a `flag` ### 💩 ლოგიკური მნიშვნელობის მქონე ცვლადებს ყოველთვის დაარქვით `flag` -Leave the space for your colleagues to think what the boolean value means. მიეცით გასაქანი თქვენს კოლეგებს, დაე იფიქრონ, რას შეიძლება წარმოადგენდეს ეს ლოგიკური მნიშვნელობა. _კარგია 👍🏻_ @@ -419,39 +385,26 @@ let isDone = false; let isEmpty = false; ``` -### 💩 Long-read functions are better than short ones. ### 💩 გრძლად დაწერილი ფუნქციები უკეთესია, ვიდრე მოკლედ დაწერილი -Don't divide a program logic into readable pieces. What if your IDE's search breaks and you will not be able to find the necessary file or function? ნუ დაყოფთ პროგრამის ლოგიკას წაკითხვად ფრაგმენტებად. წარმოიდგინეთ, რა შეიძლება მოხდეს, თუკი უეცრად თქვენი IDE-ის ძებნის ფუნქცია მოიშლება და აღარ გექნებათ შესაძლებლობა, მოძებნოთ საჭირო ფაილი თუ ფუნქცია. -- 10000 lines of code in one file is OK. - 10000 ხაზისაგან შემდგარი კოდის ერთ ფაილში განთავსება ჩვეულებრივი ამბავია. -- 1000 lines of a function body is OK. - ფუნქციის ტანის 1000 ხაზისაგან შედგენა ჩვეულებრივი ამბავია. -- Dealing with many services (3rd party and internal, also, there are some helpers, database hand-written ORM and jQuery slider) in one `service.js`? It's OK. - მუშაობთ რამდენიმე სერვისთან (მე-3 მხარის მიერ უზრუნველყოფილთან თუ შიდასთან, ასევე, გაქვთ რამდენიმე დამხმარე ფუნქცია, ნულიდან დაწერილი მონაცემთა ბაზის ORM-ი და jQuery-ის „სლაიდერი“) ერთად-ერთ `service.js`-ში? არაფერია, ჩვეულებრივი ამბავია. -### 💩 Avoid covering your code with tests ### 💩 მოერიდეთ თქვენი კოდის ტესტირებას -This is a duplicate and unnecessary amount of work. ეს არის ზედმეტი და არასაჭიროდ გაწეული შრომა. -### 💩 As hard as you can try to avoid code linters ### 💩 რაც შეიძლება ძლიერ ეცადეთ, მოერიდოთ კოდის linter-ებს -Write code as you want, especially if there is more than one developer in a team. This is a "freedom" principle. წერეთ კოდი ისე, როგორც თქვენ გინდათ, განსაკუთრებით მაშინ, როცა გუნდი არაერთი დეველოპერისგან შედგება. ეს გახლავთ „თავისუფლების“ პრინციპი. -### 💩 Start your project without a README file. ### 💩 წამოიწყეთ პროექტი README ფაილის გარეშე -And keep it that way for the time being. და ჯერჯერობით ასე დატოვეთ. -### 💩 You need to have unnecessary code ### 💩 უნდა გაგაჩნდეთ არასაჭირო კოდი -Don't delete the code your app doesn't use. At most, comment it. არ წაშალოთ კოდი, რომელსაც თქვენი აპლიკაცია არ იყენებს. დიდი-დიდი, დააკომენტარეთ. From 0e73612384bcdd21131e9bb328fc807163da333a Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Thu, 9 Feb 2023 01:35:31 +0400 Subject: [PATCH 08/10] Some improvements --- README.ka-GE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index 9c763f6..2d24359 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -391,7 +391,7 @@ let isEmpty = false; - 10000 ხაზისაგან შემდგარი კოდის ერთ ფაილში განთავსება ჩვეულებრივი ამბავია. - ფუნქციის ტანის 1000 ხაზისაგან შედგენა ჩვეულებრივი ამბავია. -- მუშაობთ რამდენიმე სერვისთან (მე-3 მხარის მიერ უზრუნველყოფილთან თუ შიდასთან, ასევე, გაქვთ რამდენიმე დამხმარე ფუნქცია, ნულიდან დაწერილი მონაცემთა ბაზის ORM-ი და jQuery-ის „სლაიდერი“) ერთად-ერთ `service.js`-ში? არაფერია, ჩვეულებრივი ამბავია. +- მუშაობთ რამდენიმე სერვისთან (მე-3 მხარის მიერ უზრუნველყოფილთან თუ შიდასთან, ასევე, გაქვთ რამდენიმე დამხმარე ფუნქცია, ნულიდან დაწერილი მონაცემთა ბაზის ORM-ი და jQuery-ის „სლაიდერი“) ერთადერთ `service.js`-ში? არაფერია, ჩვეულებრივი ამბავია. ### 💩 მოერიდეთ თქვენი კოდის ტესტირებას From 78ce2b8fbd86830e59521e85d2063ac89209d687 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Thu, 9 Feb 2023 01:36:38 +0400 Subject: [PATCH 09/10] Some improvements --- README.ka-GE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.ka-GE.md b/README.ka-GE.md index 2d24359..7974a7d 100644 --- a/README.ka-GE.md +++ b/README.ka-GE.md @@ -397,7 +397,7 @@ let isEmpty = false; ეს არის ზედმეტი და არასაჭიროდ გაწეული შრომა. -### 💩 რაც შეიძლება ძლიერ ეცადეთ, მოერიდოთ კოდის linter-ებს +### 💩 რამდენადაც შესაძლებელია ეცადეთ მოერიდოთ კოდის linter-ებს წერეთ კოდი ისე, როგორც თქვენ გინდათ, განსაკუთრებით მაშინ, როცა გუნდი არაერთი დეველოპერისგან შედგება. ეს გახლავთ „თავისუფლების“ პრინციპი. From ab1ca5f96ab6176024c65c3bb9ffe64a08de1d78 Mon Sep 17 00:00:00 2001 From: DavidKadaria Date: Thu, 9 Feb 2023 01:38:49 +0400 Subject: [PATCH 10/10] Added link to Georgian version from other files --- README.ko-KR.md | 3 ++- README.md | 3 ++- README.zh-CN.md | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README.ko-KR.md b/README.ko-KR.md index 74eb94a..f389f04 100644 --- a/README.ko-KR.md +++ b/README.ko-KR.md @@ -6,7 +6,8 @@ _다른 언어로 읽기:_ [_English_](README.md), -[_简体中文_](README.zh-CN.md) +[_简体中文_](README.zh-CN.md), +[_ქართული_](README.ka-GE.md) ## 뱃지 만들기 diff --git a/README.md b/README.md index 8b98726..72d34e0 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ This a list of state-of-the-art shitcode principles your project should follow t _Read this in other languages:_ [_简体中文_](README.zh-CN.md), -[_한국어_](README.ko-KR.md) +[_한국어_](README.ko-KR.md), +[_ქართული_](README.ka-GE.md) ## Get Your Badge diff --git a/README.zh-CN.md b/README.zh-CN.md index 7bce7ac..f7d9402 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -6,7 +6,8 @@ _Read this in other languages:_ [_English_](README.md), -[_한국어_](README.ko-KR.md) +[_한국어_](README.ko-KR.md), +[_ქართული_](README.ka-GE.md) ## 获取徽章