balu: (Default)
[personal profile] balu

Наткнувся ось на, якщо це правда, код перво-С, що написаний покійним вже Денісом Рітчі. І на що я там звернув увагу, так це на старий стиль визначення функцій, наприклад:

init(s, t) char s[]; { /*Some code here*/ }

і він мені видався більш вдалим за пізніший стиль:

int void init(char s[], int t){/*Some code here*/}

У старого стиля є два великих плюси:

  1. він займе менше місця для імен параметрів. Особливо коли читаєш clearAndLongParameterNames.
  2. все-таки ми орієнтуємось спочатку на імені, яке має відображати суть, а тип є технічною деталлю. І ідея розділення імені і типу мені сподобалася

У зв'язку з цим виникає питання до тих, хто стикався з цим: чому старий стиль відійшов? Бо поки я бачу, тільки те, щоб дізнатися тип параметра, потрібно перемістити погляд нижче, що може ускладнити швидке розуміння сигнатури функції.

Натомість у старому стилі був акцент на семантиці: спочатку видно імена параметрів, які повинні передавати суть того, що передається у функцію. Це дозволяє швидше зрозуміти призначення кожного аргументу, не відволікаючись на деталі типу.

А ще це зменшення візуального шуму: при наявності багатьох параметрів, вказівників або параметрів зі складними типами, оголошення типів в окремому блоці може візуально відокремити семантичну інформацію (імена) від технічної (типи), що потенційно полегшує сприйняття.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

balu: (Default)
от. Михайло

July 2025

S M T W T F S
   12345
6 789101112
13141516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 19th, 2025 10:04 pm
Powered by Dreamwidth Studios