Pull to refresh

Comments 96

В варианте с разделителями вначале верность синтаксиса оценивается беглым взглядом, во отличие от традиционного варианта. Кроме того, редактировать проще [...]

Исключительно субъективно.
значит ты заметил опечатку?
Да, я заметил отсутствие запятой. Только даже если это действительно не намеренная опечатка, это не говорит о том, что какой-то из способов лучше. Просто для вас один способ удобнее другого, потому что вы к нему привыкли — вот и все.

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

К чему этот допрос? :) Само собой, я просматривал код по диагонали, но это не значит, что, будь эта ошибка в варианте «с разделителем вначале», она сразу бы бросилась в глаза.
разве не бросилась?
он мне тоже был когда-то непривычен, но ничего, я осознанно поменял привычки, о чём не жалею.

я ничего не навязываю, а просто желаю тебе повысить эффективность своей работы.
За заботу твою спасибо говорю тебе :)
UFO just landed and posted this here
Та нууу))
Мне все же по душе самый первый вариант.
интересно, если провести опрос, то сколько выберет вариант «всё в одну строчку и ниибёт»?
UFO just landed and posted this here
Спасибо php, который позволяет ставить запятые даже на последнем элементе (как минимум в массивах)
Все известные мне языки (навскидку — c++, c#, js) поддерживают эту возможность
а при вызове функций?
При вызове функций это не так важно:
  • порядок аргументов обычно строг;
  • менять порядок аргументов функции, как правило, не надо;
  • пропустить запятую в аргументах крайне маловероятно, т.к. их просто обычно мало и они важны
всё зависит от специфики. например — winapi c десятком параметров
Там порядок аргументов строг и как правило еще разных типов.
да это не имеет значения. там как и везде есть функции с похожим набором параметров, вызов которых проще скопипастить и чуть подправить, чем писать с нуля.
Из известных мне языков так разрешает только питон. В нем даже приветствуется такая запись. Например, последовательность из одного элемента записывается как (item,) и никак иначе. Вот если два и более элементов, последнюю запятую разрешается опускать (item, item).
ну, это чтобы отличать кортэж от обычных скобок…
Кстати говоря, в Вашем варианте придется еще на каждую строку вбивать лишний табулятор после разделителя, вместо того чтобы пользоваться удобством автоматической разметки ИДЕ.(хотя, конечно, и этот вариант можно добавить в шаблоны)
авторазметка всё-равно вечно неугадывает что я от неё хочу =_=" так что проще самому ставить табуляциюю, чем подчищать после иде.
При вложенностях в 3-4 таба, вставлять вручную нервирует)
1. не надо делать глубоких вложенностей — они хуже читаются
2. автотабуляцию никто не отменял (минус 1-2 таба)
3. пара лишних нажатий клавиш — это фигня
Какой-то противоречивый посыл… Во-первых, 3-4 таба — это очень часто встречающаяся вложенность.Во-вторых, про авторазметку ИДЕ я как раз и говорил о лишнем табе после запятой, в ответ на что получил «авторазметка всё-равно вечно неугадывает что я от неё хочу» — собственно неудивительно, если хочется странных и неожиданных вещей. В-третьих, «пара лишних нажатий» на каждую строку это много.
1. 3-4 — это уже много. 2-3, не более — оптимум
2. она также не угадывает и когда хочу очевидных. ну может мне так с иде повезло — идея.
3. ты на пробелах ещё не стал экономить? х) пара нажатий — это фигня. экономить надо время восприятия, а не время набора.
Ой ли… Как пример
class Blabla{
	public static void WOW(){
		for(int i=0;i<n;i++){
			tratata(hihihi);
			for(int j=0;j<n;j++){
				bugagaga();
			}
		}
	}
}
разбить метод на два: один для внешнего цикла, другой — для внутреннего

вынести класс в отдельный файл и выкинуть один таб

Ну конеееечно… для каждого вложенного цикла создавать по методу…
Вообще, видимо, мало кода смотрите.
да и вообще я — хрен с горы. лезу тут в это ваше программирование со своим уставом %-)
и что этот говнокод должен мне доказать?
То есть пхпист заявляет, что код пхп — говнокод? :)
Всё чаще и чаще звучит эта фраза применительно к чему угодно. Модно что ли стало.
а скажешь не говнокод?
я уже года 2 на нём не пишу. а что?
Ухъ какое достижение. А учитывая, что пост «PHP → Независимо перегружаемые свойства» от 02.06, то заметно экспоненциальное увеличение ЧСВ не по дням, а по часам… Д'Артаньян, дело-то даже не в том насколько тот код «пыл блох»©, а в том какой Вы молодец! Осудить же так тяжело… Особенно если самим не под силу создать такое-же.
мисье не знает чем отличается дата создания от даты публикации?
Волею судьбы довелось работать с одной системой. Довольно сложной. Поначалу клял разработчиков(полное отсутствие документации, невнятные названия директорий, повторения и прочее).
В итоге я всё это дело продебажил, рассмотрел под микроскопом, сгенерировал хоть какую-то иерархию классов, список методов и сложил в единую картину. Всё оказалось не так уж плохо. Прослеживался шаблон проектирования, имелась своя внутренняя логика.

Я вот к чему- не умею посмотреть на файл в 2000 с лишним строк и сказать что всё что там написано полная лажа. Для анализа кода нужно представлять что, как и почему.

PS: В конце концов рефакторинг существует, tenshi :) И рефакторят не всегда лажу. Люди растут, набираются опыта, голова генерирует новые идеи и старые кажутся не оптимальными.
а ты посмотри в этот файл. живая иллюстрация как делать не надо.

а то, что ты вник в проект — честь тебе и хвала, только вот в хорошем коде тебе не пришлось бы столько ковыряться микроскопом, чтобы увидеть «паттерны».
Можешь показать хороший с твоей точки зрения код, применяющейся в живом, функциональном, развивающемся проекте, который разрабатывали разные люди в разные периоды жизни, росшие в профессиональном плане пока писали его?
Возможно, тебе просто везет с классными проектами. Тогда завидую белой завистью.
разумеется нет. и что ты доказал? что говнокод — это хорошо и рефакторить его не надо?
Трудно общаться с человеком, который не читает что ты ему пишешь(первое предложение).
Мы только что поняли, что ты не можешь обьяснить и показать что для тебя стандарт нормального кода, но по каким-то фэншуйным параметрам оцениваешь чужой труд. Флаг в руки.
могу, но мне лень. если тебе тот код кажется нормальным, то мне тебя жаль и метать бисер в пустоту я не собираюсь.
я не пхпист, да и там всё на сях.
Ну да-ну да… Посты в профиле из блога PHP видимо о brainfuck'e…
да ты прям детектив — уличил меня в использовании пхп 0_0 блин, надо срочно менять имя…
JS в реализации ослиной сики IE не поддерживает ( как обычно не такой как все )
поддерживает, но не правильно %-)
Разработчики IE негодуют! =) Они считают, что после последнего элемента массива в JS запятую ставить нельзя ни в коем случае.
Ставьте запятую во всех элементах, включая последний и не надо е**ть мозг.
всегда пишите без ошибок, иначе кол вам в задницу! х)
в JS в IE всех версий будет вываливаться ошибка
+ ко всему вышесказанному — большинство IDE сразу подчеркивают ошибку, если не так записать массив (я про php)
у тебя иде подчёркивает лишнюю запятую в конце массива в пхп? во тупая х)
наоборот, если массив записан неправильно, то подчеркивает
у меня она подчёркивает через несколько секунд после того как я закончу редактировать, что сильно раздражает…
<imho>встертил бы в коде — сделал бы с автором нехорошую вещь</imho>
Разрушает ощущение зависимости строк. Нет отступа на следующей строке — оператор завершён и дальше не его.

Если не нравится отсутствие символа в конце — сделайте так:

var userList= [
    { name: 'Tom', Age: 5, race: 'cat' },
    { name: 'Jerry', Age: 3, race: 'mouse' },
    { name: 'Spike', Age: 11, race: 'dog' }]
ничего оно не разрешает. знаки препинания с последующим табом имеют незначительный визуальный вес.

а твой способ провоцирует ошибки вида «не закрытый массив»
При быстром просмотре кода взгляд упирается в крайний левый символ, проблема в этом.
Вообще, эта ошибка времени компиляции (по крайней мере в тех языках, что я знаю), и бороться с ней таким образом, это бороться с ветряными мельницами.

P.S.: У objective-C программистов второй пример способен вызвать нервный тик ;)
афайк, глаз быстро переучивает не упираться в регулярные структуры

угу, только пока там оно ещё докомпилируется до этого места… в общем случае — чем раньше обнаруживается ошибка — тем лучше

разумеется это применимо не везде
Если компилятор поддерживает прекомпилированные заголовки, то они сократят время повторной компиляци.
Для человека, не привыкшего к такой манере записи он может стать проблемой (а ещё если он включил C'шный код в проект obj-C… :) )

Вообще, как мне кажется, стоит использовать тот стиль, что навязывают IDE и среда разработки, если в ней есть авторасстановка. Если это «коммерческий» код, то вероятность того, что с ним будет работать другой программист стремится к ста процентам. Да и в случае тулзы, написанной для себя, вероятность не нулевая.
иде должна помогать, а не диктовать. и уж точно код не должен писаться в рассчёте на то, что с ним будут работать только в иде или даже в конкретной иде =_="
> иде должна помогать, а не диктовать.
К сожалению, реальность такова. А может и к счастью.
Visual Studio не даст вам использовать «Египетские» скобки, Xcode (среда разработки под Mac OS/iPhone os) ровняет перенесённые строки по первому двоеточию.
Для некоторых языков наиболее распространённая IDE одна, либо вообще единственная, так что для них такой расчёт смысл имеет.
гомэн, случайно на минус попал — иконки слишком мелкие =_=
UFO just landed and posted this here
а ты ширнись хоть раз — потом за уши не оттянешь ;-)
UFO just landed and posted this here
UFO just landed and posted this here
Лично для меня написание кода программы похоже на изложение мыслей. Замкнутое на количестве и контексте слов. И как-то сложилось, что при изложении мыслей на бумаге или при мечати запятую привычно ставить после слова.
а ещё привычно ставить в конце точку, а не симиколон или фигурную скобку?
Если так далеко заходить, то мы придем к языку 1С бухгалтерии. Нет, пожалуй, никогда кроме pascal в университете.
в таком случае аппеляция к естественным языкам тут не к месту
Мне судить что к месту у меня в голове.
Никогда не любил секты именно за подобные высказывания :)
переходи на сторону зла — у нас есть печеньки ;-)
Я использую подобное форматирование только когда пишу на Haskell… В основном чисто для того, чтобы сделать код ещё более «шокирующим» для неокрепших умов :)
можешь пример показать?
Ну, не знаю даж. Редко на Haskell пишу. Например вот:

data Book = Book {
      id      ::  BookID
    , title   ::  String
    , authors :: [Author]
    } deriving (Show)
фигурная скобка не там %-)
Это мой код, значит фигурная скобка там, где ей полагается быть :P
Я имел в виду запятые.
как-то ты не последовательно…
Окей, так лучше?

data Book = Book { id      ::  BookID
                 , title   ::  String
                 , authors :: [Author]
                 } deriving (Show)
Я много лет пользуюсь именно таким способом написания. Удобно комментировать строки, да и наглядно.
удобно комментировать? почему? о0
char[] tokens = {
    "START"
  , "LOAD_LIST"
  , "CLEAR_LIST"
  , "LOAD_FILE"
  , "LOAD_LIST"
  , "NEXT_TRACK"
  , "PREV_TRACK"
//  , "RECORD"
};
char[] tokens = {
  "START",
  "LOAD_LIST",
  "CLEAR_LIST",
  "LOAD_FILE",
  "LOAD_LIST",
  "NEXT_TRACK",
  "PREV_TRACK",
//  "RECORD"
};

В С выдаст ошибку из-за запятой в конце списка.
ну, а в варианте с разделителем вначале то же самое будет, если закомментить строчку в начале…

другое дело, что иногда можно делать так:

var x=
( false
|| blablabla
|| lbalbalba
)

то есть первую строчку комментить никому в голову не придёт
Sign up to leave a comment.

Articles