программирование :: айтишное :: код :: своя игра

своя игра айтишное код программирование 
своя игра,айтишное,код,программирование
Подробнее

своя игра,айтишное,код,программирование
Еще на тему
Развернуть
Не напоминайте....
phpjsdev phpjsdev 06.06.201814:41 ответить ссылка 15.6
Трудность прочтения старого кода даже не в отсутствии комментариев, а в его убогом оформлении, по-моему.
nonnname nonnname 06.06.201814:42 ответить ссылка -6.0
Прочитай "Совершенный код" Стива Макконнелла (да, фамилия у него такая).
А такое понятие как "Самодокументируемый код" какой эксперт ввел? А то я не в курсе. У них мода каждый год меняется. В зависимости от того, кто на конференции выступит, а остальные неглядя подхватят.
private private 06.06.201815:09 ответить ссылка -2.2
Не совсем, мода в ИТ формируется эффективностью практик (ну кроме проектов, где работают ребятки, которым пофигу как работать и они тупо обезьянят популярные практики без адаптации к проекту и команде).
Я согласен с рядовым, хороший код нуждается в минимуме комментариев, т.к. у нём названия переменных/классов/функций/методов точные и лаконичные, операции понятные и хорошо разделены в пространстве, "код читается как рассказ" ("Clean code", R. Martin). При такой ситуации комментарии становятся информационным шумом. Правда, части публичного API должны быть хорошо задокументированы в любом случае, некоторые языки/фреймворки позволяют генерить документацию прямо из комментариев кода.
Сравни
uiVeryImportantVariableThatVolatileAndCanBeUsedByManyProccessors;
и вариант с комментарием:
muiVIP; //очень важная переменная, которая может использоваться множеством процессоров

m - mutable, разделяемая.
Ну начинается виляние по экстремальным ситуациям, чтобы защитить свое мнение. Естественно местами приходится комментировать некоторые вещи, чтобы внести ясность или описать, почему сделано именно так, но комментить весь код не имеет смысла, так как для программиста это будет являться дублированием информации, ведь он уже умеет читать и понимать код, зачем ему еще и текстовое описание.
private private 06.06.201815:39 ответить ссылка -2.5
Я уже упоминал нужную книгу.
http://joyreactor.cc/post/3528234#comment16373138
nonnname nonnname 06.06.201815:45 ответить ссылка -1.5
Шо то хуйня, шо то.
В первом варианте: имя заполнено кучей бесполезной информации, например волатильность и мьютабилити всегда очевидным образом выплывает из модификаторов переменной, а вместо писания всяких "убер-важная-переменная" стоит использовать нормальное имя описывающие предназначение переменной, использование разными процессорами (скорее всего ты имел в виду конкурентный доступ в нативной среде) - выглядит весьма стрёмно, доступ к такой переменной не может контролироваться просто именем переменной, явно вокруг неё всё говорит о конкурентном доступе к ней.
Второй вариант ещё хуже: "m - mutable" - это фольклор, который будет передаваться из уст в уста, покуда преемственность поколений разработчиков на проекте не прервётся, в части паблик API - это вообще катастрофа, первый вариант хоть сам о себе расскажет прямо в IDE, когда попытаешься посмотреть на состав класса. Сокращения и аббревиатуры (кроме самых распространённых и понятных из контекста кода) - плохая практика, могут быть неправильно поняты, расшифровки могут быть забыты и утеряны в веках.

ИМХО, лучше увидеть что-то вроде:
uiConcurrentAccessNumberOfFlyingDildosOnScreen, чем muiNOFDOS (mui меня наталкивает на одну известную песню Кати Лель)
Я лишь привёл пример "самодокументируемого кода" и адекватного применения комментария, когда комментарий даёт ценную информацию без использования овердохуядлинного именования переменной. В книге Макконнелла эти все варианты описывают и объясняются почему и что нужно делать.
Цитировать даже 10% от этой книги здесь не вижу смысла.
Книга С. Макконела хороша, я и не спорю. Но ты привёл не очень удачный пример самодокументируемого кода (слишком много информации в имени), и не очень удачный пример закомментированного кода (слишком непонятное имя переменной и энциклопедическая статья по его расшифровке) - оба кода читаются тяжело. Комментарии должны быть к месту, нести информацию, которую кроме как в комментариях и не выразишь, а не чтобы покрывать кривые названия методов и переменных (хотя иногда и для этого, пока не придумаешь нормальное имя, но это часть процесса разработки, а не готового к эксплуатации кода).

В любом случае, всё должно быть гармонично и лаконично, тут уж мы точно с тобой согласимся.
>нахуй комментить код

ПРЯМИКОМ В АД НАХУЙ
Можно вынести описание, что происходит, в отдельный файл. Но это крайне неудобно. Доходит до использования двух мониторов и более.
nonnname nonnname 06.06.201816:03 ответить ссылка -1.6
И где этот файл будет искать следующий мейнтейнер год/два/десять спустя?
В папке Documents.
nonnname nonnname 07.06.201804:01 ответить ссылка -0.1
причём тут качество?
некоторые решения могут быть неочевидными. для этого и комментарии, чтобы потом понять.
поэтому комментарии обьясняют не то, что делает код, а зачем он что-то делает.
Не знаю о чём и зачем вы тут спорите, но истина давно известна. В первую очередь и почти всегда комментарий должен повествовать не что делает этот участок кода (это должно быть очевидно глядя на сам код), а зачем этот код именно это именно так делает. Это автоматически нас приводит к тому, что обычно в хорошем коде комментариев немного (если не считать всякую мета-инфу в комментариях за комментарии), потому что каких-то неочевидных моментов (вроде костылей для сторонних библиотек или просто сильно хитрых решений) должно быть немного. Если же такие комментарии не оставлять, то новичок, придя на проект, ринется переписывать этот код так, чтобы было кошерно, и возможно у него даже не сразу всё там помрёт и отвалится. Он ведь не знает, что оно так сделано, потому что, скажем, в каких-то хитрых случаях какая-нибудь сторонняя либа валится в сегфолт, или скажем какой-нибудь Edge 13 не поддерживает какое-нибудь стечение обстоятельств, или какое-нибудь API нестабильно. Или что этот алгоритм в узко-нагруженном месте до микросекунд оптимизирован, и потому так странно выглядит.

Ну ещё бывают редкие случаи когда нужно комментировать не только "почему это здесь", но и "что это вообще такое". Но это уже большая экзотика, которую обычно можно отрефакторить.
faiwer faiwer 07.06.201816:38 ответить ссылка 0.8
Зачем у функции перемещения памяти три цикла с проверкой условия неравенства модуля на ноль?
взято отсюда? : https://m.habr.com/company/mailru/blog/412693/
Пфф! Эх молодежь, вот когда просят объяснить, что делает код, который без изменений перекочевал из свн в гит 10 лет назад, вот это да.
Ssipak Ssipak 06.06.201814:50 ответить ссылка 1.0
Ну, современные стандарты написания самодостаточного/самоописывающего кода берут свои истоки в конце 90-х, а это уже почти 20 лет назад. Так что хороший код 20-летней выдержки должен быть всё ещё читабельным. А вот ПО начала 90-х и ранее - вот там фарш должен быть: фреймворков почти не было, писали как могли, тесты были кастомные...
Вово, а такого кода - дохрена и надо уметь с ним работать. Да и даже студентокод вполне читается. Это признак того, что, во-первых, писал полную хуйню два года назад, а во-вторых до сих пор не научился толком читать код.
Ды легко: он работает через жопу, потому что сейчас я бы сделал по-другому
Jadelord Jadelord 06.06.201815:23 ответить ссылка 11.6
Поставил бы открывающую фигурную скобку на одну строку с названием функции?
nonnname nonnname 06.06.201816:19 ответить ссылка -2.4
Как будто в треде не достаточно холивара от комментах, давайте ещё за код-стайл похоливарим.
Без этого никак. Нужно ещё призвать бугуртящих в отношении языка комментов.
nonnname nonnname 06.06.201818:19 ответить ссылка -0.1
Пробелы или табуляция?
Один, два или четыре пробела?
Vim, или Emacs?
TihonV TihonV 07.06.201814:38 ответить ссылка 0.0
Notepad++ и WinSCP.
NT vs *NIX?
TihonV TihonV 07.06.201819:34 ответить ссылка 0.0
Ответ: ничего.
kshart kshart 06.06.201816:57 ответить ссылка 0.0
Выдает ошибку. следующий вопрос пожалуйста.
Akahara Akahara 06.06.201816:59 ответить ссылка 3.3
если про меня - то и двух дней хватит
а иногда и два часа - если я на обед ходил
VEGETKO VEGETKO 06.06.201823:19 ответить ссылка 0.0
Он кстати умер, знаток этот. Андрей Жданов, жаль его, харизматичный мужик был.
http://www.mk.ru/social/2017/02/28/zagadka-smerti-andreya-zhdanova-chempiona-svoey-igry-pogubilo-razbitoe-serdce.html
у меня все коды направленны на то чтоб выводить сообщение "Я тебя не звал, иди на хуй"
Ну вот, хотя бы тут нету никакой политоты...
Nemesis-T Nemesis-T 07.06.201813:09 ответить ссылка -0.4
2 года? Да я не могу разобрать что я 2 недели назад написал, когда ко мне пришел CEO и сказал "чтобы было вчера!"
Sarrees Sarrees 07.06.201813:29 ответить ссылка 0.1
Нихрена не понял, но на всякий случай плюсанул.
B1ack B1ack 07.06.201813:46 ответить ссылка 0.0
делает какую-то неведомую хуйню и активно срет в логи
b.o.g b.o.g 07.06.201816:02 ответить ссылка 0.0
Снимает полицейское преследование в GTA
rhtyltkm rhtyltkm 07.06.201822:10 ответить ссылка 0.0
Неделю назад ты написал код, сегодня у пользователя произошла ошибка (см. скриншот). Почему? На раздумье дается пол минуты
В названии или верхнем комментарии оставляю напоминание что это и зачем это.

ещё вариант - запустить и посмотреть.
MaXM00D MaXM00D 08.06.201800:19 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
GlaDOS ChatGpt test 1,Gaming,,GlaDOS ChatGpt test 1
Github: https://github.com/multiverse-95/glados-tts Стажер	х = 10;
Джун	х = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1;
Мидл	■рог (хп1: г = 0; 1 > -11; 1--) { х -= 1; }
Сеньор	до { х = пеы Рапс1от() .пех1:1п1:();
	} У\М1е (х != 10);
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор код программирование

Стажер х = 10; Джун х = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1; Мидл ■рог (хп1: г = 0; 1 > -11; 1--) { х -= 1; } Сеньор до { х = пеы Рапс1от() .пех1:1п1:(); } У\М1е (х != 10);
Sophie Koonin
@type_error
Follow

Rule #1: always colour match your IDE.
DogsUst.jsx X		
	Sophio Koonin, 14 days ago 11 author (Sophia Koonin)	
1	import React from ’react'	
2 3	Import PropTypes from 'prop-types'	
	Sophia Koonin, 14 pays ago 11 author (Sophia Koonin)	
4	export default clas
подробнее»

программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор код тп

Sophie Koonin @type_error Follow Rule #1: always colour match your IDE. DogsUst.jsx X Sophio Koonin, 14 days ago 11 author (Sophia Koonin) 1 import React from ’react' 2 3 Import PropTypes from 'prop-types' Sophia Koonin, 14 pays ago 11 author (Sophia Koonin) 4 export default clas
U « Inútil
'*	*• MlitH
.».•Г««..,7,.• ••»*«** •
•I••< »
«.•rè» |7*
I
!•( HMMilHr • • »/••"••«»*» / rt|[
1 *♦«KMmtM’ti («nil
1	I
1 rniilMUti
I.,M • *r " 'tj •# < **• t**,Utr.
If
_________________

»HI iMt
,4-M *"^U< «II
»•'*f 'MhlKf III,
»•* • mwilUiij
(щнщ
i I
i
I Nilitnli,
I
подробнее»

Приколы для даунов разное дресс-код платье программирование geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор код игра слов

U « Inútil '* *• MlitH .».•Г««..,7,.• ••»*«** • •I••< » «.•rè» |7* I !•( HMMilHr • • »/••"••«»*» / rt|[ 1 *♦«KMmtM’ti («nil 1 I 1 rniilMUti I.,M • *r " 'tj •# < **• t**,Utr. If _________________ »HI iMt ,4-M *"^U< «II »•'*f 'MhlKf III, »•* • mwilUiij (щнщ i I i I Nilitnli, I
// Написал этот код в 4 утра, он работает // Пожалуйста, не трогайте его int square(int n)
{
int k = 0; while (true) {
if (k == n * n) return k;
k++;
}
}
подробнее»

geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор индусский код программирование

// Написал этот код в 4 утра, он работает // Пожалуйста, не трогайте его int square(int n) { int k = 0; while (true) { if (k == n * n) return k; k++; } }