Перейти к публикации
  • Сейчас на странице   Всего пользователей: 2   (0 пользователей, 2 гостя)

Hed-kun

Программирование, т. 6

Рекомендованные сообщения

полностью не читал, но уже в начале я нашёл 2 основных пункта которые являются моей аргументацией в пользу комментариев (в плане бинарного да/нет)

 

1) когда это нужно как мини-"оглавление"

нахуй надо плодить 100 сабрутин на большую (но логически/структурно одну) задачу которые будут вызваться по одному разу превращая код в ёбаное спагетти если можно добавить 3 строчки с каментом которые логически разделят метод на 3 части, но оставят его вместе

 

то же самое касается подхода "наплодить 150 классов" или других логических единиц которые якобы создают программе ту самую мифмиескую "архитектуру" и "понятный читаемый код" а по факту ты потом просто заблудишься среди этой помойки сорц файлов половина из которых на 10 строчек (ненавижу джаву за эту ебанистику политику 1 класс = 1 файл)

 

2) в отдельных ситуациях-исключениях описание почему код написан так, а не так как его потенциальный читатель может интуитивно ожидать

например предупреждая что если тут код выглядит говном - то по какой-то причине так должно быть

 

хотя в джавах/шарпах где всё что сложнее постройки буффера для функции хеширования уже написано и скрыто внутри стандартной либы таких будет одна ситуация на миллион, но это не отменяет того что подход "коменты плохо" = религиозно-фанатический долбоебизм. то же самое касается любой подобной тематики типа того же goto

Поделиться сообщением


Ссылка на сообщение

Почитал последние страницы и представил названия переменных от Camus'a

class ГыыPolygon {
 constructor(гыыHeight, гыыWidth) {
   this.гыыName = 'Polygon';
   this.гыыHeight = гыыHeight;
   this.гыыWidth = гыыWidth;
 }
  гыыSayName() {
   console.log('Гыыыыы, Hi, I am a ', this.гыыName + '.');
 }
}
let p = new ГыыPolygon(300, 400);
p.гыыSayName();

Supernatura1 понравилось это

Я не человек, Я - Кантона. (с)

Miraxes#2986

753357.png

Поделиться сообщением


Ссылка на сообщение

Приведу стену из известной книги:

 

Стена

 

Комментарии легче написать плохо, а не хорошо, и комментирование иногда

бывает скорее вредным, чем полезным. Жаркие дискуссии по поводу достоинств

комментирования часто напоминают философские дебаты о моральных достоинствах,

и это наводит меня на мысль о том, что, будь Сократ программистом, между

ним и его учениками могла бы произойти следующая беседа.

Комменто

Действующие лица:

ФРАСИМАХ

Неопытный пурист теории, который верит всему, что читает.

КАЛЛИКЛ

Закаленный в боях представитель старой школы — «настоящий»

программист.

ГЛАВКОН

Молодой, самоуверенный, энергичный программист.

ИСМЕНА

Опытная разработчица, уставшая от громких обещаний и просто

желающая найти несколько работающих методик.

СОКРАТ

Мудрый опытный программист.

Мизансцена:

Завершение ежедневного собрания группы

— Желает ли кто#то обсудить еще что-нибудь, прежде чем мы вернемся к работе?

— спрашивает Сократ.

— Я хочу предложить стандарт комментирования для наших проектов, — говорит

Фрасимах.

— Некоторые наши программисты почти не комментируют свой

код, а всем известно, что код без комментариев нечитаем.

— Ты, должно быть, еще менее опытен, чем я думал, — отвечает Калликл. — Ком#

ментарии — это академическая панацея, и любому, кто писал реальные програм#

мы, известно, что комментарии затрудняют чтение кода, а не облегчают. Естествен#

ный язык менее точен, чем Java или Visual Basic, и страдает от избыточности, тог#

да как операторы языков программирования лаконичны и попадают в самое яб#

лочко. Если кто#то не может написать ясный код, разве ему удастся написать яс#

ные комментарии? Кроме того, комментарии устаревают при изменениях кода.

Доверяя устаревшим комментариям, ты сам себе роешь яму.

— Полностью согласен, — вступает в разговор Главкон. — Щедро прокомментиро#

ванный код читать труднее, потому что в этом случае читать приходится больше. Мало

того, что я должен читать код, так мне нужно читать еще и кучу комментариев!

— Подождите минутку, — вставляет свои две драхмы Исмена, ставя чашку кофе.

— Конечно, злоупотребление комментариями возможно, но хорошие комментарии

ценятся на вес золота. Мне приходилось сопровождать код как с комментариями,

так и без них, и, будь у меня выбор, я бы предпочла первый вариант. Не думаю, что

нам нужен стандарт, заставляющий писать один комментарий на каждые x строк

кода, но побудить всех программистов комментировать код не помешает.

— Если комментарии — пустая трата времени, почему все их используют, Калликл?

— спрашивает Сократ.

— Или потому, что таково требование, или потому, что человек прочитал где#то о

пользе комментариев. Ни один программист, когда#либо задумавшийся об этом,

не пришел к выводу, что комментарии полезны.

— Исмена считает, что они полезны. Она уже три года сопровождает твой код без

комментариев и чужой код с комментариями. Ее мнение ты уже слышал. Что ты

скажешь на это?

— Комментарии бесполезны, потому что они просто повторяют код в более мно#

гословной...

— Подожди, — прерывает Калликла Фрасимах. — Хорошие комментарии

не повторяют код и не объясняют его. Они поясняют его цель. Коммен#

тарии должны объяснять намерения программиста на более высоком

уровне абстракции, чем код.

— Верно, — соглашается Исмена. — Если я ищу фрагмент, который мне нужно из#

менить или исправить, я просматриваю комментарии. Комментарии, повторяю#

щие код, на самом деле бесполезны, потому что все уже сказано в самом коде. Когда

я читаю комментарии, я хочу, чтобы они напоминали оглавление книги. Коммен#

тарии должны помочь мне найти нужный раздел, а после этого я начну читать

код. Гораздо быстрее прочитать одно предложение на обычном языке, чем ана#

лизировать 20 строк кода на языке программирования.

Исмена наливает себе вторую чашку кофе.

— Мне кажется, что люди, отказывающиеся писать комментарии, (1) думают, что

их код понятнее, чем мог бы быть, (2) считают, что другие программисты гораз#

до сильнее интересуются их кодом, чем есть на самом деле, (3) думают, что дру#

гие программисты умнее, чем есть на самом деле, (4) ленятся или (5) боятся, что

кто#то другой узнает, как работает их код.

— В этом смысле очень помогли бы обзоры кода, Сократ, — продолжает Исмена.

— Если кто#то утверждает, что комментарии писать не нужно, и получает во вре#

мя обзора кучу вопросов — если сразу несколько коллег спрашивают его: „Что про#

исходит в этом фрагменте твоего кода?“ — он начинает писать комментарии. Если

программист не дойдет до этого сам, его руководитель сможет заставить его пи#

сать комментарии.

— Я не утверждаю, Калликл, что ты ленишься или боишься, что кто#то другой пой#

мет твой код. Я работала с твоим кодом и могу сказать, что ты — один из лучших

программистов компании. Но будь чуточку добрее, а? Мне было бы легче сопро#

вождать твой код, если бы ты писал комментарии.

— Но это пустая трата времени, — не сдается Калликл. — Код хорошего програм#

миста должен быть самодокументирующимся: все, что нужно знать другим про#

граммистам, должно быть в самом коде.

— Нет! — Фрасимах вскакивает со стула. — В коде и так уже есть все, что нужно

знать компилятору! С таким же успехом можно было бы сказать, что все, что нуж#

но знать другим программистам, уже есть в двоичном исполняемом файле! Если

бы мы только были достаточно умны, чтобы уметь читать его! Информации о том,

что программист

собирался

сделать, в коде нет.

Фрасимах замечает, что вскочил с места, и садится.

— Сократ, это немыслимо. Почему мы спорим о важности комментариев? Во всех

книгах, которые я читал, говорится, что комментарии полезны и что на них не сто#

ит экономить. Мы зря теряем время.

— Успокойся, Фрасимах. Спроси у Калликла, как давно он

программирует.

— Действительно, как давно, Калликл?

— Ну, я начал с системы Акрополь IV где#то 15 лет назад.

Думаю, что я стал свидетелем рождения и гибели пример#

но десятка крупных приложений. А еще в десятке проектов

я работал над крупными компонентами. Две из этих систем

включали более полумиллиона строк кода, так что я знаю,

о чем говорю. Комментарии совершенно бесполезны.

Сократ бросает взгляд на более молодого программиста.

— Как говорит Калликл, с комментариями действительно связано много проблем,

и ты не поймешь это, пока не приобретешь больше опыта. Если комментировать

код неграмотно, комментарии не просто бесполезны — они вредны.

— Они бесполезны, даже если комментировать код грамотно, — заявляет Калликл.

— Комментарии менее точны, чем язык программирования. Лично я думаю, что

лучше вообще их не писать.

— Постой, — говорит Сократ. — Исмена согласна с тем, что комментарии менее

точны, но она утверждает, что комментарии поднимают программиста на более

высокий уровень абстракции, а все мы знаем, что абстракция — один из самых

эффективных инструментов, имеющихся в нашем распоряжении.

— Я с этим не согласен, — заявляет Главкон. — Нам следует концентрироваться

не на комментариях, а на читабельности кода. При рефакторинге большинство

моих комментариев исчезает. После рефакторинга мой код может включать 20

или 30 вызовов методов, не нуждающихся в каких бы то ни было комментариях.

Хороший программист способен определять цель автора по самому коду; к тому

же какой толк в чтении о чьей#то цели, если известно, что код содержит ошибку?

Главкон умолкает, удовлетворенный своим вкладом в беседу. Калликл кивает.

— Похоже, вам никогда не приходилось изменять чужой код, — говорит Исмена.

Калликл делает вид, что его очень заинтересовали плитки на потолке.

— Почему бы вам не попробовать прочитать собственный код через шесть меся#

цев или год после его написания? Вы можете развивать и навык чтения кода, и навык

его комментирования. Никто не заставляет вас выбирать что#то одно. Если вы чи#

таете роман, вам, может, и не нужны названия глав. Но при чтении технической

книги вам, наверное, хотелось бы иметь возможность быстро найти то, что вы ищете.

Тогда мне не пришлось бы переходить в режим сверхсосредоточенности и читать

сотни строк кода для нахождения двух строк, которые я хочу изменить.

— Хорошо, я понимаю, что возможность быстрого просмотра кода была бы удоб#

ной, — говорит Главкон. Он видел некоторые из программ Исмены, и они не ос#

тавили его равнодушным. — Но как быть с другим утверждением Калликла — что

комментарии устаревают по мере изменений кода? Я программирую лишь пару

лет, но даже я знаю, что никто не обновляет свои комментарии.

— Ну, и да, и нет, — говорит Исмена. — Если вы считаете комментарии неприкос#

новенными, а код подозрительным, у вас серьезные проблемы. На самом деле не#

соответствие между комментарием и кодом обычно говорит о том, что неверно

и то, и другое. Если какие#то комментарии плохи, это не означает, что само ком#

ментирование плохо. Пойду налью себе еще чашку кофе.

Исмена выходит из комнаты.

— Мое главное возражение против комментариев, — заявляет Калликл, — в том,

что они тратят ресурсы.

— Можете ли вы предложить способ минимизации времени написания коммен#

тариев? — спрашивает Сократ.

— Проектирование методов на псевдокоде, преобразование псевдокода в коммента#

рии и написание соответствующего им кода, — говорит Главкон.

— OK, это сработает, если комментарии не будут повторять код, — утверждает Кал#

ликл.

— Написание комментария заставляет вас лучше подумать над тем, что делает ваш

код, — говорит Исмена, возвращаясь с новой чашкой кофе. — Если комментарии

писать трудно, это означает, что код плох или вы недостаточно хорошо его по#

нимаете. В обоих случаях вы должны поработать над кодом еще, так что время,

потраченное на его комментирование, не пропадает — оно указывает вам на не#

обходимую работу.

— Хорошо, — подводит итоги Сократ. — Не думаю, что у нас остались еще вопро#

сы. Похоже, Исмена сегодня была самой убедительной. Мы будем поощрять ком#

ментирование, но не будем относиться к нему простодушно. Мы будем выполнять

обзоры кода, чтобы все поняли, какие комментарии на самом деле полезны. Если

у вас возникнут проблемы с пониманием кода другого программиста, подскажи#

те ему, как он может его улучшить.

 

 

# читайте, как дефис.

текст хуйня и написан дауном, вот сейчас бы ввести 5 персонажей и привязать к ним особенности поведения ради примера.

 

я учусь по Unreal Engine 4 Coding Standard https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/ ибо других и не встречал, опыта в разработке ноль

там есть и о комментариях

Поделиться сообщением


Ссылка на сообщение
(изменено)
текст хуйня и написан дауном

 

 

 

«Великолепное руководство по стилю программирования и конструированию ПО».

Мартин Фаулер, автор книги «Refactoring»

«Книга Стива Макконнелла... это быстрый путь к мудрому программированию... Его книги

увлекательны, и вы никогда не забудете то, что он рассказывает, опираясь на свой с тру#

дом полученный опыт».

Джон Бентли, автор книги «Programming Pearls, 2d ed»

«Это просто самая лучшая книга по конструированию ПО из всех, что когда#либо попада#

лись мне в руки. Каждый разработчик должен иметь ее и перечитывать от корки до корки

каждый год. Я ежегодно перечитываю ее на протяжении вот уже девяти лет и все еще уз#

наю много нового!»

Джон Роббинс, автор книги «Debugging Applications

for Microsoft .NET and Microsoft Windows»

«Современное ПО

должно

быть надежным и гибким, а создание защищенного кода начи#

нается с дисциплинированного конструирования программы. За десять лет так и не по#

явилось лучшего руководства по этой теме, чем эта книга.

Майкл Ховард, специалист по защите ПО, корпорация Microsoft;

один из авторов книги «Writing Secure Code»

«Это исчерпывающее исследование тактических аспектов создания хорошо спроектиро#

ванных программ. Книга Макконнелла охватывает такие разные темы, как архитектура,

стандарты кодирования, тестирование, интеграция и суть разработки ПО».

Гради Буч, автор книги «Object Solutions»

«Авторитетная энциклопедия для разработчиков ПО — вот что такое „Совершенный код“.

Подзаголовок „Практическое руководство по конструированию ПО“ характеризует эту 850#

страничную книгу абсолютно точно. Как утверждает автор, она призвана сократить раз#

рыв между знаниями „гуру и лучших специалистов отрасли“ (например, Йордона и Прес#

смана) и общепринятыми методиками разработки коммерческого ПО, а также „помочь

создавать более качественные программы за меньшее время с меньшей головной болью“...

Эту книгу следует иметь каждому разработчику. Ее стиль и содержание в высшей степени

практичны».

Крис Лузли, автор книги «High%Performance Client/Server»

«Полная плодотворных идей книга Макконнелла „Совершенный код“ — это одна из са#

мых понятных работ, посвященных подробному обсуждению методик разработки ПО...»

Эрик Бетке, автор книги «Game Development and Production»

«Кладезь полезной информации и рекомендаций по общим вопросам проектирования и

разработки хорошего ПО».

Джон Демпстер, автор книги «The Laboratory Computer:

A Practical Guide for Physiologists and Neuroscientists»

«Если вы действительно хотите улучшить навыки программирования, обязательно прочтите

книгу „Совершенный код“ Стива Макконнелла».

Джин Дж. Лаброссе, автор книги «Embedded Systems Building Blocks:

Complete and Ready%To%Use Modules in C»

«Стив Макконнелл написал одну из лучших книг по разработке ПО, не привязанных к

конкретной среде...»

Кеннет Розен, один из авторов книги «Unix: The Complete Reference»

«Пару раз в поколение или около того появляются книги, обобщающие накопленный опыт

и избавляющие вас от многих лет мучений... Не могу найти слов, чтобы адекватно опи#

сать все великолепие этой книги. „Совершенный код“ — довольно жалкое название для

такой превосходной работы».

Джефф Дантеманн, журнал «PC Techniques»

«Издательство Microsoft Press опубликовало то, что я считаю самой лучшей книгой по конст#

руированию ПО. Эта книга должна занять место на книжной полке каждого программиста».

Уоррен Кеуффель, журнал «Software Development»

«Эту выдающуюся книгу следует прочесть каждому программисту».

Т. Л. (Фрэнк) Паппас, журнал «Computer»

«Если вы собираетесь стать профессиональным программистом, покупка этой книги, по#

жалуй, станет самым мудрым вложением средств. Можете не читать этот обзор дальше —

просто идите в магазин и купите ее. Как пишет сам Макконнелл, его целью было сокра#

щение разрыва между знаниями гуру и общепринятыми методиками разработки коммер#

ческого ПО... Удивительно, но ему это удалось».

Ричард Матеосян, журнал «IEEE Micro»

«„Совершенный код“ — обязательное чтение для всех... кто имеет отношение к разработ#

ке ПО».

Томми Ашер, журнал «C Users Journal»

«Я вынужден сделать чуть более категоричное заявление, чем обычно, и рекомендовать

книгу Стива Макконнелла „Совершенный код“ всем разработчикам без всяких оговорок...

Если раньше во время работы я держал ближе всего к клавиатуре руководства по API, то

теперь их место заняла книга Макконнелла».

Джим Кайл, журнал «Windows Tech Journal»

«Это лучшая книга по разработке ПО из всех, что я читал».

Эдвард Кенворт, журнал «.EXE»

«Эта книга заслуживает статуса классической, и ее в обязательном порядке должны про#

честь все разработчики и те, кто ими управляет».

Питер Райт, «Program Now»

 

 

Тебе видней.

:pray::lol:

Все, я сливаюсь.


Изменено пользователем ReAIver's

Поделиться сообщением


Ссылка на сообщение

конечно, я же эти книги "как стать программистом за 7 дней" и читаю, разбираюсь в сортах, так сказать.

 

в ответ на твой редакт:

то что человек знает как программировать, не значит что он знает как этому учить, как писать об этом книги ну десятка редакторов и консультантов через которых этот текст прошел пока вышел там, а потом был переведен тут, тоже аргумент. Так что да, текст по хуевому написан.

Поделиться сообщением


Ссылка на сообщение

я учусь по Unreal Engine 4 Coding Standard https://docs.unreale...CodingStandard/ ибо других и не встречал, опыта в разработке ноль

там есть и о комментариях

ну у них там более-менее обычный подход к каментам - комментируйте то что нужно

почти такой же как тут: https://users.ece.cmu.edu/~eno/coding/CCodingStandard.html

основное там считаю вот это:

Comments should document decisions. At every point where you had a choice of what to do place a comment describing which choice you made and why. Archeologists will find this the most useful information.

Поделиться сообщением


Ссылка на сообщение

про археологов понравилось, так то да, комменты для них и пишутся

Поделиться сообщением


Ссылка на сообщение
(изменено)

Нужна небольшая помощь с ассемблером

напишите мне если кому не трудно

 

 

 

ввод/вывод сделал, сделал это

NvWPU7ccLbs.jpg

 

а вот это хз как сделать,чет не выходит туплю уже

 

omoYe520w28.jpg

 

 

 


Изменено пользователем PIXMELLo

Поделиться сообщением


Ссылка на сообщение
(изменено)

у тебя проблема разобрать задание или закодить это?

если с первым то условно тебе надо разделить всю индексацию на блоки по 4 элемента и "усреднить" их вот такими парами

 

cf02ef1fe9.png

 

нормальным языком (не асм-ом) индексы считаются так

for (i = 0; i < N; i = ((i%2) == 0 ? i + 1 : i + 3)) {

}

 

итого этот цикл тебе для i генерирует последовательность 0,1 .. 4,5 .. 8,9 етц

 

а внутри можно делать то что они просят

int temp = (a + a[i+2])/2;

a = a[i+2] = temp;

 

но как это заебашить на асм-е неебу


Изменено пользователем TheDeadSkin

Поделиться сообщением


Ссылка на сообщение

я пришел отсосать камю. весь день ебались, пытаясь подружить апач и ноду и сделать чтобы ваще хоть что то работало, и вот наконец оно работает и запросы проксируются через сервер на ноде, ахуеть

 

камюч забожил с советом :pray:


Лишь ощутив баттхерт до конца, мы обретаем свободу

bf4ffc239860.png

Поделиться сообщением


Ссылка на сообщение
Гость Camus

Парсить html инстаграмма на клиенте все еще хреновая идея

Поделиться сообщением


Ссылка на сообщение
(изменено)

на ноде всё парсится

 

бля я хотел пояснить что где как и зачем делается, но понял что я уже и сам нихуя не понимаю че происходит

попозже как нибудь пожалуй. зачем мы ваще все это делали?


Изменено пользователем AskMe-

Лишь ощутив баттхерт до конца, мы обретаем свободу

bf4ffc239860.png

Поделиться сообщением


Ссылка на сообщение

норм вопрос ^

Поделиться сообщением


Ссылка на сообщение

когда был двапой - было пиздато :cry:


Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость Camus

Зачем он нужен?

Поделиться сообщением


Ссылка на сообщение

пацаны, очередной бодрый вопрос

рест апишный запрос надо прятать от пользователя? т.е когда юзер жмет кнопку, гет запрос едет на сервак и тот возвращает какие то данные. если посмотреть дебаггером, то запрос виден и можно тупо вбить его в адресную строку и получить данные. эти данные нихуя не секретные и их можно хоть на баннере показывать, вообще похуй. но сам факт того, что пользователь может увидеть запрос и его результат - это нормально? если это надо прятать, то как?


Лишь ощутив баттхерт до конца, мы обретаем свободу

bf4ffc239860.png

Поделиться сообщением


Ссылка на сообщение

пацаны, очередной бодрый вопрос

рест апишный запрос надо прятать от пользователя? т.е когда юзер жмет кнопку, гет запрос едет на сервак и тот возвращает какие то данные. если посмотреть дебаггером, то запрос виден и можно тупо вбить его в адресную строку и получить данные. эти данные нихуя не секретные и их можно хоть на баннере показывать, вообще похуй. но сам факт того, что пользователь может увидеть запрос и его результат - это нормально? если это надо прятать, то как?

 

Esli vse na storone klienta, to nikak. No zachem priatat esli nichego sektetnogo net?

Поделиться сообщением


Ссылка на сообщение

у тебя проблема разобрать задание или закодить это?

но как это заебашить на асм-е неебу

проблема закодить это на асм-е

Поделиться сообщением


Ссылка на сообщение

Я конечно не про, но нафига его прятать то. Да и не спрячешь ты его никак, он один фиг в консоли отражается.

Поделиться сообщением


Ссылка на сообщение

пацаны, очередной бодрый вопрос

рест апишный запрос надо прятать от пользователя? т.е когда юзер жмет кнопку, гет запрос едет на сервак и тот возвращает какие то данные. если посмотреть дебаггером, то запрос виден и можно тупо вбить его в адресную строку и получить данные. эти данные нихуя не секретные и их можно хоть на баннере показывать, вообще похуй. но сам факт того, что пользователь может увидеть запрос и его результат - это нормально? если это надо прятать, то как?

 

Ну обычно запрос возвращает инфу которую ты всеравно показываешь пользователю ,так что ничего страшного в этом нет .Главное не возвращать ничего лишнего ,что не касается конкретного запроса и конкретного пользователя

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...