Hacker News Onion @HackerNewsOnion Ö «± Читать BREAKING. Программист, обвиненный в написании неч / твиттер :: скриншот :: программист :: интернет

твиттер программист скриншот 
Hacker News Onion
@HackerNewsOnion
Ö «± Читать
BREAKING. Программист, обвиненный в написании нечитаемого кода, отказался комментировать!
Ф Показать перевод 4% t* ★	«¡1
РЕТВИТОв	ИЗБРАННОЕ
4 130	2 864
*AA!4L*S:&C
12:30 *21 мая 2015 г,твиттер,интернет,программист,скриншот
Подробнее
Hacker News Onion @HackerNewsOnion Ö «± Читать BREAKING. Программист, обвиненный в написании нечитаемого кода, отказался комментировать! Ф Показать перевод 4% t* ★ «¡1 РЕТВИТОв ИЗБРАННОЕ 4 130 2 864 *AA!4L*S:&C 12:30 *21 мая 2015 г
твиттер,интернет,программист,скриншот
Еще на тему
Развернуть
Кроме php и js тоже есть языки
Azargan Azargan 03.12.201721:07 ответить ссылка -4.9
И что ты этим хочешь сказать? Из за того что названые тобой языки програмирования не единственные в мире то значит коментировать ничего не нужно?
PlayTime PlayTime 03.12.201721:10 ответить ссылка -3.7
Есть языки со строгим типизированием, тип входных и выходных данных в которых указан явно в сигнатурах. Хорошо написанный код на той же Java, C# и т.д. может отлично обходиться и без комментариев.
По поводу C# соглашусь, там каждая функция имеет адекватное описание на большинстве языков мира, ты просто наводишь мышь или ставишь курсор через клаву и жмякаешь нужное сочетание клавиш, есть отдельное описание каждого параметра . В яве я такого не видел, пробовал 3 разных IDE... ява - хуява.
tanot tanot 03.12.201723:56 ответить ссылка -0.3
Книжки почитай )
Тобишь почитав книжки ты запомнил все функции всех библиотек включая системные для написания нативного кода? Про сигатуру ниже
tanot tanot 04.12.201712:03 ответить ссылка 0.0
Фишка в том, что для твоего кода, этов се не должно требоваться. Взгляну на сигнатуру функции ты должен примерно понимать, что происходит.
sqrtcunt sqrtcunt 04.12.201704:13 ответить ссылка -0.1
А я и не требую этого от тебя, я трребую это (в легкой форме) от разрабов самой явы и их библиотек. Закоментить то надо не каждую строку, а хотя бы каждую функцию.
Насчет сигнатуры, натыкаешься на десяток функций с длинным названием, состоящем из сокращений, в сигнатуре от 5 до сколько тебе надо параметров. Параметры типа object, int и прочая базовая бабуйня, string там... Определяй что они делают, только не тестируй, давай, сразу. (Основано на реальных событиях, бороздил библиотеки, думал все как с шарпом в вижле)
tanot tanot 04.12.201712:17 ответить ссылка 0.0
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
ctrl + клик и откроется описание типа такого.. В eclipse и IntelliJ IDEA так точно..
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
1 1 ”7
*	System.out.println("abc") ;
*	String cde =
Ну блядь не дибилы ли? Вместо characterStorage/characters назвали поле value и добавили коммент. Дауны, блеать. Уебки. Раки. Пиздоглазые мудилы.
Комментарии в первую очередь нужны, чтобы объяснять, как работают всяческие не тривиальные куски кода и функции. Очень грустненько, когда копаешься в низкоуровневом коде (считай драйверах), в котором совершенно отсутствуют комментарии, а подсказок в интернете хрен найдешь, потому что никто кроме тебя такой херней не страдает.
Ну дык 95% софта нынче - не низкоуровневые драйвера, в полне высокоуровнвые программы. А те кто пишут их ка книзкоуровневые драйвера - конеченные раки.
sqrtcunt sqrtcunt 04.12.201704:11 ответить ссылка -0.9
Драйвера я привел лишь для примера. Проблема же не в низкоуровневости.
А в чем? Если АПИ конченный, то комменты обычно не сильно помогают, потому что такое же говно типа "// говнопараметр А, говнопараметр Б" и гадай, что эти говнопараметры делают.
Комментарии очень даже помогают, адекватные, конечно. Если они присутствуют - это позволяет не лезть в исходный код метода, а просто использовать его. Часто бывает, что не ясно, а тот ли это метод, который тебе нужен. И благодаря комментариям, ты понимаешь, что конкретно делает функция. Более того, если исходного кода вообще нету, а у тебя только либа, то это капец, как необходимо.
Ты сам понял, что сказал? Сигнатура функции - и есть ее описание. А комментарии - хуйня бесполезная.
sqrtcunt sqrtcunt 04.12.201704:12 ответить ссылка -0.7
"Как оно работает" в смысле "что оно делает" -- это лишь малая часть дела, это действительно часто комментировать бесполезно.

Но как оно работает в смысле "почему оно делает именно это" -- вот реальная засада. Да, я вижу что оно делает X, но почему X? Почему не Y, ведь так же быстрее/нагляднее/etc.? Возможно ли это отрефакторить до Z? Или уже пытались, но что-то мешает?

Во сколько-нибудь сложном ПО львиная доля нюансов в коде -- это исправления багов, попытки оптимизации, компромиссы при внедрении новой функциональности, неоконченный рефакторинг и т. д. Никогда это все не будет понятно лишь при взгляде на код.
Cfyz Cfyz 03.12.201721:29 ответить ссылка 6.6
>Во сколько-нибудь сложном ПО львиная доля нюансов в коде -- это исправления багов, попытки оптимизации, компромиссы при внедрении новой функциональности, неоконченный рефакторинг и т. д

А вот на этом моменте я очень рекомендую почитать про историю Лиспа и в частности как на нем писался Яху. Что-то мне подсказывает что данное знание может изменить отношение к некоторым ЯП и вообще к предпочитаемой архетиктуре проектов.
Если использовать принцип черной коробки и модули с четко определенными данными на входе и выходе, с функциями самостоятельной отладки, отпадает необходимость в костылях и сложном описании. Да и баги появляются только в случаях, не предусмотренных функциями отладки.
Guljaca Guljaca 03.12.201722:41 ответить ссылка -0.7
Для самодокуменируемого кода нужен особый ЯП. И чем более код спроектирован самодокументируемым — тем более задротней и извращенным является ЯП. При этом это нисколько не отменяет хотя бы минимальные комментарии кода. Классическим примером тут является Haskell — код просто идеально документируется(особенно благодаря системе типов), но вот понимать его от силы могут только несколько избранных. **А уж если Лисп вспомнить, то вообще всё совсем плохо становится.
Любой современный ЯП с явной типизацией подойдет.
sqrtcunt sqrtcunt 04.12.201704:25 ответить ссылка -0.1
Этого недостаточно. Как минимум, надо документировать публичное API. А то очень весело-задорно читать автосгенерированную документацию, где никаких описаний.

А если в коде есть какое-то неочевидное колдунство не очевидные с первого раза места, их тоже надо комментить.
Дизайнить нужно нормально. Пользователь когда приходит к твоему АПИ у него есть какая-то цель. И ты, как разработчик, должен заранее знать эту цель. Иначе на кой хер ты вообще это все делал? Так вот, пользователь увидев твой АПИ, должен понять методы, котоыре ему подойдут, по сигнатурам. Это достигается правильным именованием, использованием заранее оговоренных подходов, следование единому стилю кода. В большинстве случаев это отлично работает. В крупных открытых проектах конечно от документации не уйдешь, но тогда ее лучше отдельно оформить, в не в комментариях.
sqrtcunt sqrtcunt 04.12.201704:25 ответить ссылка -0.5
Все это, безусловно, надо. Но не понимаю тех, кто топит за отсутствие комментов. Переломитесь что ли написать?
А толку? Вот я недавно поломал проект к хуям, потому что написано было говно, и похуй что с комментом. По комменту не понятно какую именно циклическую ссылку оно развязывает, и схуяли она там изначально. И тесты вроде прошли, и так приложение пашет. Оказалось не полностью пашет. И срать на тот коммент.
Аналогичные ситуации, когда коммент рассказывает о детялях внутренней реализации, потом эта реализация меняется и хук, коммент врет. И никто его не изменил. Потому что задизайнили хуево.
Все правильно сказал.
sqrtcunt sqrtcunt 04.12.201704:12 ответить ссылка -0.2
Ага блядь, и тесты тоже признак плохого кода, зачем что-то покрывать ими если всё работает?
iduno iduno 03.12.201721:20 ответить ссылка 6.1
Я знаю таких программистов, у которых всё работало только в тестах. Их было очень сложно убедить, что что-то не работает у клиентов, потому что ну в тестах же работает.
Loser2 Loser2 03.12.201721:28 ответить ссылка 1.5
Ну бывает, тесты могут быть кривыми либо не полными, конечно они являются серебряной пулей, но это на значит что их не нужно писать.
iduno iduno 03.12.201721:34 ответить ссылка -1.1
Поэтому кроме юнит-тестов не стоит забывать о функциональном тестировании, на котором попутно проверяется еще и соответствие бизнес-логике. И если не работает или не соответствует, то программист тоже хуй, объективно хуй.
Ну тогда объясните им простую истину:
"Отладка и тестирование может указать на наличие ошибок, но ни на их отсутствие" (с) не помню кто
Заминусили веб разработчики видимо.
Серьёзно?
SoaQaz SoaQaz 04.12.201710:45 ответить ссылка 0.0
psys psys 03.12.201721:30 ответить ссылка 18.0
Такс, не хватает еще 4-х красных линий. Из них 3 должно быть зеленым цветом. И все они перпендикулярные. И одна в форме котенка.
sjkomy sjkomy 04.12.201721:37 ответить ссылка 0.1
Поєтому когда меня заебали плюсы я ушел к питону, питончик сцуко читается как роман.

З.Ы. Хуйня что иногда роман оказывается детективным и ты даже в конце не понимаешь ГГ гений или долбоёб.
medelect medelect 04.12.201701:30 ответить ссылка 0.5
На плюсах тоже можно красиво писать. Просто программисты любят экспериментировать и колдовать так, что понятно становится только тому, кто писал код и чаще всего он более оптимизирован, чем если бы его писали по общим шаблонам. Пример тебе библиотечные функции: там черт ногу сломит, но работает все гладко, не тратя лишних ресурсов.
Плюсы это феерический язык. Просто писать и читать на нем легко. Но когда начинается особо темная template-магия. Так еще с каждой версией в него пихают овер9000 фич, но скупятся на синтаксические примочки, новые ключевые слова и т.п. Поэтому синтаксис языка становится крайне перегруженным.
djbaton djbaton 04.12.201701:50 ответить ссылка 0.1
Директ линк https://twitter.com/HackerNewsOnion/status/601470152509509632
eko24 eko24 04.12.201717:57 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Аптекарша
@ а lexygo псИагоуа
На кого ты учишься?
-На врача
-О, а посмотри моё горло!
-На программиста
-О, а переустанови винду!
-На переводчика
-О, а переведи мне песню!
-На экономиста -М, понятно.
подробнее»

твиттер интернет учеба врач программист переводчик экономист

Аптекарша @ а lexygo псИагоуа На кого ты учишься? -На врача -О, а посмотри моё горло! -На программиста -О, а переустанови винду! -На переводчика -О, а переведи мне песню! -На экономиста -М, понятно.
даныд
(а^с^пПка
Помните в Парке Юрского Периода одному программисту мало платили, тогда он решил подзаработать на стороне и случайно выпустил всех динозавров на волю?
Вот почему в 1Т большие зарплаты. На всякий случай...
00:19 • 27.07.2021 • Т\лШег 1Ъг ¡РИопе
подробнее»

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

даныд (а^с^пПка Помните в Парке Юрского Периода одному программисту мало платили, тогда он решил подзаработать на стороне и случайно выпустил всех динозавров на волю? Вот почему в 1Т большие зарплаты. На всякий случай... 00:19 • 27.07.2021 • Т\лШег 1Ъг ¡РИопе
Alexandra Black @xela163 • 2 ч
В ответ @artemtiunov и @webholt Читала историю (не помню, чью, сейчас найти не смогла), парень на работу на такси поехал, и таксист тоже говорит:
-	Вы, наверное, айтишник?
-	Да, а как вы догадались? Это потому что я интеллигентно выгляжу?
-	Нет, это потому что тол
подробнее»

программисты айтишники такси проститутки twitter интернет

Alexandra Black @xela163 • 2 ч В ответ @artemtiunov и @webholt Читала историю (не помню, чью, сейчас найти не смогла), парень на работу на такси поехал, и таксист тоже говорит: - Вы, наверное, айтишник? - Да, а как вы догадались? Это потому что я интеллигентно выгляжу? - Нет, это потому что тол
Yaroslav
Г-ж-	*-
(cpKentilini
V
На всякий случай напоминаю: программист это единственная в мире профессия в которой платят деньги, чтоб ты исправил ошибки, которые допустил, когда в прошлый раз сделал свою работу херово.
12:29 • 06 июл. 20 • Twitter for iPhone
подробнее»

twitter интернет программист

Yaroslav Г-ж- *- (cpKentilini V На всякий случай напоминаю: программист это единственная в мире профессия в которой платят деньги, чтоб ты исправил ошибки, которые допустил, когда в прошлый раз сделал свою работу херово. 12:29 • 06 июл. 20 • Twitter for iPhone
Fes OxFF (синьор самозванец) . 1 д.
Четыре инженера садятся в машину, она не заводится.
Инженер-механик: наверно сломался стартер
Инженер-электрик: может сдох аккум? Инженер-химик: да это плохой бензин IT-инженер: Эй, ребят, у меня есть идея, как насчёт того чтобы повысить мне зп до 900к?
подробнее»

инженеры программисты twitter интернет

Fes OxFF (синьор самозванец) . 1 д. Четыре инженера садятся в машину, она не заводится. Инженер-механик: наверно сломался стартер Инженер-электрик: может сдох аккум? Инженер-химик: да это плохой бензин IT-инженер: Эй, ребят, у меня есть идея, как насчёт того чтобы повысить мне зп до 900к?