SlideShare a Scribd company logo
1 of 47
Download to read offline
Коментарi, документацiя,
а також все що з цим пов’язане
i зможе зробити наш код ще кращим
Назар Герасимчук
December 7, 2018
Назар Герасимчук Коментарi etc. December 7, 2018 1 / 35
Що i до чого?
Що i до чого?
Не коментуйте поганий код –
перепишiть його.
Б. Кернiган i П. Плауер
Найкраща допомога розробнику – хороший коментар в кодi.
Найбiльше засмiчують код беззмiстовнi коментарi.
Назар Герасимчук Коментарi etc. December 7, 2018 2 / 35
Що i до чого?
Що i до чого?
Не коментуйте поганий код –
перепишiть його.
Б. Кернiган i П. Плауер
Найкраща допомога розробнику – хороший коментар в кодi.
Найбiльше засмiчують код беззмiстовнi коментарi.
Найбiльшу шкоду приносить коментар який втратив свою
актуальнiсть (хибний, дезiнформативний).
Назар Герасимчук Коментарi etc. December 7, 2018 2 / 35
Що i до чого?
Що i до чого?
Не коментуйте поганий код –
перепишiть його.
Б. Кернiган i П. Плауер
Найкраща допомога розробнику – хороший коментар в кодi.
Найбiльше засмiчують код беззмiстовнi коментарi.
Найбiльшу шкоду приносить коментар який втратив свою
актуальнiсть (хибний, дезiнформативний).
Назар Герасимчук Коментарi etc. December 7, 2018 2 / 35
Фiлософський погляд на коментарi
Фiлософський погляд на коментарi
Насправдi коментарi –
неуникне зло.
Мови програмування недостатньо виразнi.
Програмування – процес невдалого виразу власних думок.
Назар Герасимчук Коментарi etc. December 7, 2018 3 / 35
Фiлософський погляд на коментарi
Фiлософський погляд на коментарi
Насправдi коментарi –
неуникне зло.
Мови програмування недостатньо виразнi.
Програмування – процес невдалого виразу власних думок.
Коментарi – ознака невдачi. Гордитися тут нiчим.
Назар Герасимчук Коментарi etc. December 7, 2018 3 / 35
Фiлософський погляд на коментарi
Фiлософський погляд на коментарi
Насправдi коментарi –
неуникне зло.
Мови програмування недостатньо виразнi.
Програмування – процес невдалого виразу власних думок.
Коментарi – ознака невдачi. Гордитися тут нiчим.
Назар Герасимчук Коментарi etc. December 7, 2018 3 / 35
Приклад до обговорення
Приклад до обговорення
Що сталося з коментарем i з тiєю стрiчкою яку вiн повинен був описувати?
Назар Герасимчук Коментарi etc. December 7, 2018 4 / 35
Коментарi не компенсують поганого коду
Коментарi не компенсують поганого коду
Ви пишете модуль, i розумiєте що вiн
неконтрольовано розрiсся, став дуже заплутаним.
Тут, згадуєте цю презентацiюa
i думаєте «A давай-но
я зараз понаписую коментарiв, щоб код був
зрозумiлiший».
Нi! Так не буде краще. Потрiбно переписати код
модуля!
a
ну як вам рекурсiя?
Назар Герасимчук Коментарi etc. December 7, 2018 5 / 35
Пояснюйте що ви робите в кодi
Пояснюйте що ви робите в кодi
Назар Герасимчук Коментарi etc. December 7, 2018 6 / 35
Кориснi коментарi Юридичнi нотацiї
Юридичнi нотацiї
Назар Герасимчук Коментарi etc. December 7, 2018 7 / 35
Кориснi коментарi Юридичнi нотацiї
Юридичнi нотацiї
Назар Герасимчук Коментарi etc. December 7, 2018 8 / 35
Кориснi коментарi Iнформативнi коментарi
Iнформативнi коментарi
1
2
1
Хiба не краще перейменувати метод?
2
Хiба не краще винести в спецiальний клас, що перетворює формати дати i часу?
Назар Герасимчук Коментарi etc. December 7, 2018 9 / 35
Кориснi коментарi Пояснення намiрiв
Пояснення намiрiв
3
3
Автор вирiшив, що при порiвняннi двох об’єктiв об’єкти його класу повиннi
знаходитися в порядку сортування вище, чим об’єкти будь-якого iншого класу.
Назар Герасимчук Коментарi etc. December 7, 2018 10 / 35
Кориснi коментарi Пояснення намiрiв
Пояснення намiрiв
4
4
Можна не погодитися з тим як автор вирiшує проблему, проте в крайньому разi ви
знаєте що саме автор намагається зробити.
Назар Герасимчук Коментарi etc. December 7, 2018 11 / 35
Кориснi коментарi Пояснення
Пояснення
Пояснення загадкового
аргументу, або значення
що повертається. Загалом
варто обдумати як краще
це зобразити засобами
мови програмування.
Хоча часто подiбна
ситуацiя трапляється коли
ви працюєте з готовою
бiблiотекою чи модулем.
Назар Герасимчук Коментарi etc. December 7, 2018 12 / 35
Кориснi коментарi Пояснення i ризики
Пояснення i ризики
Виникає ризик що
коментар буде
неправильним. Це справдi
важко перевiрити, самi
переконайтеся.
Назар Герасимчук Коментарi etc. December 7, 2018 13 / 35
Кориснi коментарi Попередження про можливi наслiдки
Попередження про можливi наслiдки
Можливо не найкраще
рiшення, але тут все
зрозумiло з цим тестом.
Назар Герасимчук Коментарi etc. December 7, 2018 14 / 35
Кориснi коментарi Попередження про можливi наслiдки
Попередження про можливi наслiдки
Хрестоматiйний приклад.
Назар Герасимчук Коментарi etc. December 7, 2018 15 / 35
Кориснi коментарi Попередження про можливi наслiдки
Попередження про можливi наслiдки
Можливо це не найкращi коментарi, проте, їх
наявнiсть точно вiдiб’є бажання у типового
програмiста витрачати робочий час на щось iнше,
крiм як на вирiшення своїх прямих задач.
Назар Герасимчук Коментарi etc. December 7, 2018 16 / 35
Кориснi коментарi Коментарi TODO
Коментарi TODO
Чого ф-iя не
реалiзована?
Реалiзувати потрiбно,
проте чомусь не
зараз.
Залежнiсть?
Функцiї в IDE.
Назар Герасимчук Коментарi etc. December 7, 2018 17 / 35
Кориснi коментарi Коментарi TODO
Коментарi TODO
5
5
Тяжко жити, шкода вмерти. Не всi TODO-коментарi кориснi.
Назар Герасимчук Коментарi etc. December 7, 2018 18 / 35
Поганi коментарi
Поганi коментарi
6
6
Що означає коментар? Хто цим буде займатися? Чого добивався автор? Чи може це
такий TODO-коментар?
Назар Герасимчук Коментарi etc. December 7, 2018 19 / 35
Поганi коментарi Надлишковi коментарi
Надлишковi коментарi
7
7
Коментар читається не простiше нiж сам код. Коментар є неточним i нав’язує читачу
певнi iдеї якi можуть бути вiдмiннi вiд того що декларується в кодi.
Назар Герасимчук Коментарi etc. December 7, 2018 20 / 35
Поганi коментарi Надлишковi коментарi
Надлишковi коментарi
Назар Герасимчук Коментарi etc. December 7, 2018 21 / 35
Поганi коментарi Недостовiрнi коментарi
Недостовiрнi коментарi
Код зi слайду 25.
Метод не повертає керування
коли this.closed стає iстинним.
Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
Поганi коментарi Недостовiрнi коментарi
Недостовiрнi коментарi
Код зi слайду 25.
Метод не повертає керування
коли this.closed стає iстинним.
Метод повертає керування якщо
this.closed iстинне, iнакше,
чекає таймауту i генерує
виключення у випадку якщо
this.closed так i не стало
iстинне.
Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
Поганi коментарi Недостовiрнi коментарi
Недостовiрнi коментарi
Код зi слайду 25.
Метод не повертає керування
коли this.closed стає iстинним.
Метод повертає керування якщо
this.closed iстинне, iнакше,
чекає таймауту i генерує
виключення у випадку якщо
this.closed так i не стало
iстинне.
Проблеми будуть не в того хто це
написав, а в того хто унаслiдує
цей код.
Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
Поганi коментарi Недостовiрнi коментарi
Недостовiрнi коментарi
Код зi слайду 25.
Метод не повертає керування
коли this.closed стає iстинним.
Метод повертає керування якщо
this.closed iстинне, iнакше,
чекає таймауту i генерує
виключення у випадку якщо
this.closed так i не стало
iстинне.
Проблеми будуть не в того хто це
написав, а в того хто унаслiдує
цей код.
Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
Поганi коментарi Журнальнi коментарi
Журнальнi коментарi
8
8
З моменту коли почали використовувати системи контролю версiй коду – про подiбнi
речi треба одразу ж забувати.
Назар Герасимчук Коментарi etc. December 7, 2018 23 / 35
Поганi коментарi Шум
Шум
Назар Герасимчук Коментарi etc. December 7, 2018 24 / 35
Поганi коментарi Шум
Шум
Назар Герасимчук Коментарi etc. December 7, 2018 25 / 35
Поганi коментарi Небезпечний шум
Небезпечний шум
Яка користь з коментарiв такого
типу?
Це шумовi коментарi, викликанi
бажанням когось покоментувати.
Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
Поганi коментарi Небезпечний шум
Небезпечний шум
Яка користь з коментарiв такого
типу?
Це шумовi коментарi, викликанi
бажанням когось покоментувати.
Перечитайте уважнiше.
Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
Поганi коментарi Небезпечний шум
Небезпечний шум
Яка користь з коментарiв такого
типу?
Це шумовi коментарi, викликанi
бажанням когось покоментувати.
Перечитайте уважнiше.
Знайшли помилку?
Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
Поганi коментарi Небезпечний шум
Небезпечний шум
Яка користь з коментарiв такого
типу?
Це шумовi коментарi, викликанi
бажанням когось покоментувати.
Перечитайте уважнiше.
Знайшли помилку?
Ctrl+C + Ctrl+V
Якщо автори не слiдкують за
коментарями в момент написання,
то як можна очiкувати що такi
коментарi принесуть користь
читачам?
Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
Поганi коментарi Небезпечний шум
Небезпечний шум
Яка користь з коментарiв такого
типу?
Це шумовi коментарi, викликанi
бажанням когось покоментувати.
Перечитайте уважнiше.
Знайшли помилку?
Ctrl+C + Ctrl+V
Якщо автори не слiдкують за
коментарями в момент написання,
то як можна очiкувати що такi
коментарi принесуть користь
читачам?
Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
Поганi коментарi Небезпечний шум
Небезпечний шум
Назар Герасимчук Коментарi etc. December 7, 2018 27 / 35
Поганi коментарi Коментар чи функцiя?
Коментар чи функцiя?
9
9
Iмовiрно програмiст спершу написав коментар, потiм по коментару написав
вiдповiдний код. Але вiн забув переглянути написаний код...
Назар Герасимчук Коментарi etc. December 7, 2018 28 / 35
Поганi коментарi Закоментований код
Закоментований код
В програмуваннi навряд чи трапиться
звичка бiльш огидна як залишений
закоментований код.
Iншим програмiстам не вистачить хоробростi його видалити.
Чи важливi закоментованi стрiчки?
Може це просто мотлох?
Забули про систему контролю версiй?
Назар Герасимчук Коментарi etc. December 7, 2018 29 / 35
Поганi коментарi Нелокальна iнформацiя
Нелокальна iнформацiя
10
10
Хто прослiдкує за змiною порта по замовчуванню?
Назар Герасимчук Коментарi etc. December 7, 2018 30 / 35
Поганi коментарi Неочевиднi коментарi
Неочевиднi коментарi
11
11
Що таке байти фiльтра? Як вони пов’язанi з +1? Або з *3? Один пiксель вiдповiдає
одному байту? Чого 200?..
Назар Герасимчук Коментарi etc. December 7, 2018 31 / 35
Цiкавi коментарi в iсторiї
Цiкавi коментарi в iсторiї
Назар Герасимчук Коментарi etc. December 7, 2018 32 / 35
Цiкавi коментарi в iсторiї
Цiкавi коментарi в iсторiї
Назар Герасимчук Коментарi etc. December 7, 2018 33 / 35
Практична частина
Практична частина
Назар Герасимчук Коментарi etc. December 7, 2018 34 / 35
Практична частина
Джерела I
Robert C. Martin.
Clean Code - a Handbook of Agile Software Craftsmanship.
Prentice Hall, 2009.
B. W. Kernighan and P. J. Plauge
The Elements of Programming Style.
New York, 1978.
Dennis Ritchie.
Odd Comments and Strange Doings in Unix.
http://web.archive.org/web/20040206202840/http://cm.bell-
labs.com/cm/cs/who/dmr/odd.html
Назар Герасимчук Коментарi etc. December 7, 2018 35 / 35
Практична частина
Джерела II
Говнокод.ру
«По колено в коде» https://www.govnokod.ru/
Назар Герасимчук Коментарi etc. December 7, 2018 36 / 35

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Do comments!

  • 1. Коментарi, документацiя, а також все що з цим пов’язане i зможе зробити наш код ще кращим Назар Герасимчук December 7, 2018 Назар Герасимчук Коментарi etc. December 7, 2018 1 / 35
  • 2. Що i до чого? Що i до чого? Не коментуйте поганий код – перепишiть його. Б. Кернiган i П. Плауер Найкраща допомога розробнику – хороший коментар в кодi. Найбiльше засмiчують код беззмiстовнi коментарi. Назар Герасимчук Коментарi etc. December 7, 2018 2 / 35
  • 3. Що i до чого? Що i до чого? Не коментуйте поганий код – перепишiть його. Б. Кернiган i П. Плауер Найкраща допомога розробнику – хороший коментар в кодi. Найбiльше засмiчують код беззмiстовнi коментарi. Найбiльшу шкоду приносить коментар який втратив свою актуальнiсть (хибний, дезiнформативний). Назар Герасимчук Коментарi etc. December 7, 2018 2 / 35
  • 4. Що i до чого? Що i до чого? Не коментуйте поганий код – перепишiть його. Б. Кернiган i П. Плауер Найкраща допомога розробнику – хороший коментар в кодi. Найбiльше засмiчують код беззмiстовнi коментарi. Найбiльшу шкоду приносить коментар який втратив свою актуальнiсть (хибний, дезiнформативний). Назар Герасимчук Коментарi etc. December 7, 2018 2 / 35
  • 5. Фiлософський погляд на коментарi Фiлософський погляд на коментарi Насправдi коментарi – неуникне зло. Мови програмування недостатньо виразнi. Програмування – процес невдалого виразу власних думок. Назар Герасимчук Коментарi etc. December 7, 2018 3 / 35
  • 6. Фiлософський погляд на коментарi Фiлософський погляд на коментарi Насправдi коментарi – неуникне зло. Мови програмування недостатньо виразнi. Програмування – процес невдалого виразу власних думок. Коментарi – ознака невдачi. Гордитися тут нiчим. Назар Герасимчук Коментарi etc. December 7, 2018 3 / 35
  • 7. Фiлософський погляд на коментарi Фiлософський погляд на коментарi Насправдi коментарi – неуникне зло. Мови програмування недостатньо виразнi. Програмування – процес невдалого виразу власних думок. Коментарi – ознака невдачi. Гордитися тут нiчим. Назар Герасимчук Коментарi etc. December 7, 2018 3 / 35
  • 8. Приклад до обговорення Приклад до обговорення Що сталося з коментарем i з тiєю стрiчкою яку вiн повинен був описувати? Назар Герасимчук Коментарi etc. December 7, 2018 4 / 35
  • 9. Коментарi не компенсують поганого коду Коментарi не компенсують поганого коду Ви пишете модуль, i розумiєте що вiн неконтрольовано розрiсся, став дуже заплутаним. Тут, згадуєте цю презентацiюa i думаєте «A давай-но я зараз понаписую коментарiв, щоб код був зрозумiлiший». Нi! Так не буде краще. Потрiбно переписати код модуля! a ну як вам рекурсiя? Назар Герасимчук Коментарi etc. December 7, 2018 5 / 35
  • 10. Пояснюйте що ви робите в кодi Пояснюйте що ви робите в кодi Назар Герасимчук Коментарi etc. December 7, 2018 6 / 35
  • 11. Кориснi коментарi Юридичнi нотацiї Юридичнi нотацiї Назар Герасимчук Коментарi etc. December 7, 2018 7 / 35
  • 12. Кориснi коментарi Юридичнi нотацiї Юридичнi нотацiї Назар Герасимчук Коментарi etc. December 7, 2018 8 / 35
  • 13. Кориснi коментарi Iнформативнi коментарi Iнформативнi коментарi 1 2 1 Хiба не краще перейменувати метод? 2 Хiба не краще винести в спецiальний клас, що перетворює формати дати i часу? Назар Герасимчук Коментарi etc. December 7, 2018 9 / 35
  • 14. Кориснi коментарi Пояснення намiрiв Пояснення намiрiв 3 3 Автор вирiшив, що при порiвняннi двох об’єктiв об’єкти його класу повиннi знаходитися в порядку сортування вище, чим об’єкти будь-якого iншого класу. Назар Герасимчук Коментарi etc. December 7, 2018 10 / 35
  • 15. Кориснi коментарi Пояснення намiрiв Пояснення намiрiв 4 4 Можна не погодитися з тим як автор вирiшує проблему, проте в крайньому разi ви знаєте що саме автор намагається зробити. Назар Герасимчук Коментарi etc. December 7, 2018 11 / 35
  • 16. Кориснi коментарi Пояснення Пояснення Пояснення загадкового аргументу, або значення що повертається. Загалом варто обдумати як краще це зобразити засобами мови програмування. Хоча часто подiбна ситуацiя трапляється коли ви працюєте з готовою бiблiотекою чи модулем. Назар Герасимчук Коментарi etc. December 7, 2018 12 / 35
  • 17. Кориснi коментарi Пояснення i ризики Пояснення i ризики Виникає ризик що коментар буде неправильним. Це справдi важко перевiрити, самi переконайтеся. Назар Герасимчук Коментарi etc. December 7, 2018 13 / 35
  • 18. Кориснi коментарi Попередження про можливi наслiдки Попередження про можливi наслiдки Можливо не найкраще рiшення, але тут все зрозумiло з цим тестом. Назар Герасимчук Коментарi etc. December 7, 2018 14 / 35
  • 19. Кориснi коментарi Попередження про можливi наслiдки Попередження про можливi наслiдки Хрестоматiйний приклад. Назар Герасимчук Коментарi etc. December 7, 2018 15 / 35
  • 20. Кориснi коментарi Попередження про можливi наслiдки Попередження про можливi наслiдки Можливо це не найкращi коментарi, проте, їх наявнiсть точно вiдiб’є бажання у типового програмiста витрачати робочий час на щось iнше, крiм як на вирiшення своїх прямих задач. Назар Герасимчук Коментарi etc. December 7, 2018 16 / 35
  • 21. Кориснi коментарi Коментарi TODO Коментарi TODO Чого ф-iя не реалiзована? Реалiзувати потрiбно, проте чомусь не зараз. Залежнiсть? Функцiї в IDE. Назар Герасимчук Коментарi etc. December 7, 2018 17 / 35
  • 22. Кориснi коментарi Коментарi TODO Коментарi TODO 5 5 Тяжко жити, шкода вмерти. Не всi TODO-коментарi кориснi. Назар Герасимчук Коментарi etc. December 7, 2018 18 / 35
  • 23. Поганi коментарi Поганi коментарi 6 6 Що означає коментар? Хто цим буде займатися? Чого добивався автор? Чи може це такий TODO-коментар? Назар Герасимчук Коментарi etc. December 7, 2018 19 / 35
  • 24. Поганi коментарi Надлишковi коментарi Надлишковi коментарi 7 7 Коментар читається не простiше нiж сам код. Коментар є неточним i нав’язує читачу певнi iдеї якi можуть бути вiдмiннi вiд того що декларується в кодi. Назар Герасимчук Коментарi etc. December 7, 2018 20 / 35
  • 25. Поганi коментарi Надлишковi коментарi Надлишковi коментарi Назар Герасимчук Коментарi etc. December 7, 2018 21 / 35
  • 26. Поганi коментарi Недостовiрнi коментарi Недостовiрнi коментарi Код зi слайду 25. Метод не повертає керування коли this.closed стає iстинним. Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
  • 27. Поганi коментарi Недостовiрнi коментарi Недостовiрнi коментарi Код зi слайду 25. Метод не повертає керування коли this.closed стає iстинним. Метод повертає керування якщо this.closed iстинне, iнакше, чекає таймауту i генерує виключення у випадку якщо this.closed так i не стало iстинне. Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
  • 28. Поганi коментарi Недостовiрнi коментарi Недостовiрнi коментарi Код зi слайду 25. Метод не повертає керування коли this.closed стає iстинним. Метод повертає керування якщо this.closed iстинне, iнакше, чекає таймауту i генерує виключення у випадку якщо this.closed так i не стало iстинне. Проблеми будуть не в того хто це написав, а в того хто унаслiдує цей код. Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
  • 29. Поганi коментарi Недостовiрнi коментарi Недостовiрнi коментарi Код зi слайду 25. Метод не повертає керування коли this.closed стає iстинним. Метод повертає керування якщо this.closed iстинне, iнакше, чекає таймауту i генерує виключення у випадку якщо this.closed так i не стало iстинне. Проблеми будуть не в того хто це написав, а в того хто унаслiдує цей код. Назар Герасимчук Коментарi etc. December 7, 2018 22 / 35
  • 30. Поганi коментарi Журнальнi коментарi Журнальнi коментарi 8 8 З моменту коли почали використовувати системи контролю версiй коду – про подiбнi речi треба одразу ж забувати. Назар Герасимчук Коментарi etc. December 7, 2018 23 / 35
  • 31. Поганi коментарi Шум Шум Назар Герасимчук Коментарi etc. December 7, 2018 24 / 35
  • 32. Поганi коментарi Шум Шум Назар Герасимчук Коментарi etc. December 7, 2018 25 / 35
  • 33. Поганi коментарi Небезпечний шум Небезпечний шум Яка користь з коментарiв такого типу? Це шумовi коментарi, викликанi бажанням когось покоментувати. Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
  • 34. Поганi коментарi Небезпечний шум Небезпечний шум Яка користь з коментарiв такого типу? Це шумовi коментарi, викликанi бажанням когось покоментувати. Перечитайте уважнiше. Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
  • 35. Поганi коментарi Небезпечний шум Небезпечний шум Яка користь з коментарiв такого типу? Це шумовi коментарi, викликанi бажанням когось покоментувати. Перечитайте уважнiше. Знайшли помилку? Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
  • 36. Поганi коментарi Небезпечний шум Небезпечний шум Яка користь з коментарiв такого типу? Це шумовi коментарi, викликанi бажанням когось покоментувати. Перечитайте уважнiше. Знайшли помилку? Ctrl+C + Ctrl+V Якщо автори не слiдкують за коментарями в момент написання, то як можна очiкувати що такi коментарi принесуть користь читачам? Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
  • 37. Поганi коментарi Небезпечний шум Небезпечний шум Яка користь з коментарiв такого типу? Це шумовi коментарi, викликанi бажанням когось покоментувати. Перечитайте уважнiше. Знайшли помилку? Ctrl+C + Ctrl+V Якщо автори не слiдкують за коментарями в момент написання, то як можна очiкувати що такi коментарi принесуть користь читачам? Назар Герасимчук Коментарi etc. December 7, 2018 26 / 35
  • 38. Поганi коментарi Небезпечний шум Небезпечний шум Назар Герасимчук Коментарi etc. December 7, 2018 27 / 35
  • 39. Поганi коментарi Коментар чи функцiя? Коментар чи функцiя? 9 9 Iмовiрно програмiст спершу написав коментар, потiм по коментару написав вiдповiдний код. Але вiн забув переглянути написаний код... Назар Герасимчук Коментарi etc. December 7, 2018 28 / 35
  • 40. Поганi коментарi Закоментований код Закоментований код В програмуваннi навряд чи трапиться звичка бiльш огидна як залишений закоментований код. Iншим програмiстам не вистачить хоробростi його видалити. Чи важливi закоментованi стрiчки? Може це просто мотлох? Забули про систему контролю версiй? Назар Герасимчук Коментарi etc. December 7, 2018 29 / 35
  • 41. Поганi коментарi Нелокальна iнформацiя Нелокальна iнформацiя 10 10 Хто прослiдкує за змiною порта по замовчуванню? Назар Герасимчук Коментарi etc. December 7, 2018 30 / 35
  • 42. Поганi коментарi Неочевиднi коментарi Неочевиднi коментарi 11 11 Що таке байти фiльтра? Як вони пов’язанi з +1? Або з *3? Один пiксель вiдповiдає одному байту? Чого 200?.. Назар Герасимчук Коментарi etc. December 7, 2018 31 / 35
  • 43. Цiкавi коментарi в iсторiї Цiкавi коментарi в iсторiї Назар Герасимчук Коментарi etc. December 7, 2018 32 / 35
  • 44. Цiкавi коментарi в iсторiї Цiкавi коментарi в iсторiї Назар Герасимчук Коментарi etc. December 7, 2018 33 / 35
  • 45. Практична частина Практична частина Назар Герасимчук Коментарi etc. December 7, 2018 34 / 35
  • 46. Практична частина Джерела I Robert C. Martin. Clean Code - a Handbook of Agile Software Craftsmanship. Prentice Hall, 2009. B. W. Kernighan and P. J. Plauge The Elements of Programming Style. New York, 1978. Dennis Ritchie. Odd Comments and Strange Doings in Unix. http://web.archive.org/web/20040206202840/http://cm.bell- labs.com/cm/cs/who/dmr/odd.html Назар Герасимчук Коментарi etc. December 7, 2018 35 / 35
  • 47. Практична частина Джерела II Говнокод.ру «По колено в коде» https://www.govnokod.ru/ Назар Герасимчук Коментарi etc. December 7, 2018 36 / 35