Я б сказав, що загалом це щось, що приходить з часом і досвідом, але ви можете виявити, що якщо ви працюєте з більш стислими мовами, ви повернете цю якість до своїх звичайних робочих мов.
Звичайно, через рік-два, працюючи з Рубі, я виявив, що мій C # став набагато жорсткішим. Я думаю, якби я краще зрозумів функціональне програмування (постійні амбіції), я б, мабуть, з цього взяв більше.
Також є деякі вказівки, які можуть допомогти - наприклад, якщо ви пишете одні і ті ж два рядки не раз, розділяючи їх на свій власний метод. Це просте керівництво, але швидко скорочує рядки коду, програмування скорочень та вставок, у чому час від часу винна більшість із нас.
Якщо ви розумієте спадкування, ви часто можете заощадити на повторенні одного і того ж коду в різних місцях, надаючи загальні функціональні можливості для батьківських класів. Це в принципі очевидно, але те, що люди часто пропускають на практиці.
Між написанням меншого коду та меншим кодом у вашій програмі може бути різниця. Іноді ви можете використовувати генерацію коду, щоб уникнути необхідності повторювати себе, тому ви пишете лише кілька рядків коду, але ті генерують для вас цілий ряд іншого коду - це може дати вам багато важелів. Подивіться, що робить інструмент на зразок Rails або Entity Framework в цьому плані, щоб зрозуміти, наскільки він може бути корисним. Будьте зрозумілі щодо необхідності цього, і подумайте двічі, три рази, а потім чотири рази про те, як сформувати власне покоління коду - що може висадити вас у пекло ЯГНІ.
Розумійте свою мову, свій API та інструменти. Знову це здається очевидним, але з роками я написав стільки коду, що пізніше зрозумів, що відтворює функціональність, що я міг би просто успадкувати API або використати мовну функцію для спрощення, що я зрозумів, що за кілька годин читаю на Документація для API, з яким я працюю, заощадить мені багато годин кодування чи налагодження. Так само більшість платформ, з якими ви працюєте, мають зерно - навчіться працювати так, як вони очікують, і ваше життя буде набагато простішим. Витратьте деякий час на пошук напрямку найменшого опору для платформи, з якою ви працюєте, і ви зробите все набагато краще.
Якщо вам цікаво, чи є кращий спосіб зробити щось, напевно, є, і завжди варто з’ясувати, як зробити справи краще.