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

Rooster

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

  

536 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

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

Ясненько.
В общем, есть методы, которые длинные потому что они делают вещи(я не об физикс, тот ради прикола нашел) и они не вызывают пачку других методов в которых спрятана вся работа.

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


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

 

 

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

накинулись тут

:fuckyea:  респект ему

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


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

Не читал даже названия функции, но за вот это 

u1iE2AzKT42HNQYsQG98XQ.png

 

 

нужно пиздить и больно 


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

Miraxes#2986

753357.png

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


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

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

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


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

Хз, названия типа TraceResutlToBoundaryOffsetRight и TraceResutlToBoundaryOffsetLeft , намекают что логика и там и там повторяется. Неужели нельзя ее унифицировать?

По поводу ифов:

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

Относительно 9 - “A software system is transparent when you can look at it and immediately understand what it is doing and how. It is discoverable when it has facilities for monitoring and display of internal state so that your program not only functions well but can be seen to function well.”

Я это имел ввиду, а не количество вложенности.

Зашел, кстати, ради рофла на вики УЕ и даже там пишут:

 

  • Use intermediate variables to simplify complicated expressions. If you have a complicated expression, it can be easier to understand if you split it into sub-expressions that are assigned to intermediate variables with names describing the meaning of the sub-expression within the parent expression.

  • Split methods into sub-methods where possible. Humans are better at looking at a big picture, and drilling down to the interesting details than to start with the details and reconstruct the big picture from them. In the same way, it is easier to understand a simple method that calls a sequence of several well named sub-methods than to understand an equivalent method that simply contains all the code in those sub-methods.

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


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

Не читал даже названия функции, но за вот это 

u1iE2AzKT42HNQYsQG98XQ.png

 

 

нужно пиздить и больно 

я посмотрел весь код, это правильно он сделал.

В самом начале он вызывает bMoved = false;

тут он проверяет, двинулся ли, и если да то делает его true

а если не двинулся то не меняет его на false опять

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

 

 

Хз, названия типа TraceResutlToBoundaryOffsetRight и TraceResutlToBoundaryOffsetLeft , намекают что логика и там и там повторяется. Неужели нельзя ее унифицировать?

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

эти 2 параметра это параметры только для эдитора которые вводит дизайнер в табличку если хочет чтоб этот метод функционировал по другому, они разбиты на 2 потому что мб ты хочешь offset левый или правый край по разному, больше нигде это не используется.

Так же ни этот код, ни все абсолютно его параметры, там десятка полтора кстати, не попадают в релиз, из этого объекта остается буквально 3 функции и 2 переменные.

 

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


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

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


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

Как отменять выделения у документа? ondragstart=false не помогает

Ты вообще о чем? Веб? Если ты пилишь какой-то самопальный drag&drop, то в обработчике mousemove надо ебашить e.preventDefault() (где e это получаемый ивент от хендлера само собой) чтобы не срабатывала вся фигня с выделением текста, драгом картинок и так далее.

 

По поводу табо-пробелов:

все нормальные люди юзают пробелы, которые естественно ставятся табом. В любом редакторе это моментально настраивается

По поводу того как поддерживается порядок с этим на проектах:

в корне проекта создается .editorconfig (или какой-нибудь аналог, хз че еще бывает), в котором описываются основные правила с пробелами, табами, концом строки и так далее. И потом все разрабы удостоверяются что их ide поддерживает эту хрень (для sublime например просто ставится package соответствующий, много где по умолчанию работает)

Вот так у меня сейчас выглядит editconfig на проекте, настроенный в самом начале:

; EditorConfig


root = true


[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
tab_width = 2
trim_trailing_whitespace = true
default_line_ending = unix

userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

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


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

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

дальше не читал, но дико одобряю

табы хуйня какая-то, ещё их размер блядь настраивать, довыравнивать чето на не-размер таба всё-равно пробелами, фубля

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


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

В пятницу кстати ебанул drag&drop из боковой панели прямиком в грид (с возможностью reorder'а на лету). Вроде выглядит как примитивное улучшение после того что я показывал до этого, но на самом деле пришлось использовать черную магию, ибо компоненты с гридом и панелью живут в разных "ветках" (/builder/canvas у грида и builder/drawer/visualization у панели), и просто так общаться между собой они не могли. Ну и заодно сделал изменение размеров превью под размеры элементов града в момент когда начинается drag ивент.

(у меня кстати почему-то мышка плавает когда я начинаю снимать 60фпс фуллскрин гифку, при этом я не делаю ничего кроме движения мышью, а все остальное работает как надо, втф?)

w2Ih7xm.gif


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

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


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

ебать горит у гуру япов


:buba:

ни мало ни много, а много и мало

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


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

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


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

В принципе этот видос - абстракция мессаги suez'а

 

 

А вот как дело доходит до чего-то нетривиального (анимации, хитровыебанные лэйауты требущие вылизанного css, всякие там сложные чарты, мудреные интеракции где какие-то действия могут триггерить кучу других вещей) то внезапно 9/10 таких разрабов садятся в лужу, ибо на "сухих" знаниях тут не выехать. Не важно насколько ты умен и сколько книг ты прочитал, если ты не потратил сотен жопочасов страдая с анимациями/сложным css/d3 чартами, то хуй у тебя чего получится.

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


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

объясните мне, хоть каплю логики замены табов на пробелы, в связи с тем что "расплывается"

 

оно и должно "расплываться", тк как ты себе в иде поставил ширину табов, так твой код и выглядит.

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

 

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

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

 

вместо того, чтобы пользоваться табом, в котором это всё из коробки, и который для этого и придумывали  :avtorklif:

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

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

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


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

объясните мне, хоть каплю логики замены табов на пробелы, в связи с тем что "расплывается"

 

оно и должно "расплываться", тк как ты себе в иде поставил ширину табов, так твой код и выглядит.

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

 

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

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

 

вместо того, чтобы пользоваться табом, в котором это всё из коробки, и который для этого и придумывали  :avtorklif:

пробелами можно выравнивать

типа 

SELECT *
  FROM TableName
 WHERE Id = 1
   AND type = 'A'

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

5c8bbc85b99e.gif

 

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

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


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

то, что ими можно выравнивать, это офк очевидно, но теперь где бы я не попытался открыть твой код, он ВСЕГДА будет с 2 пробелами в качестве отступа

 

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

или вообще нет автозамены табов на пробелы?

лазить менять на каждый чих?

 

 

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

когда этой проблемы вообще быть не должно


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

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


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

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

когда этой проблемы вообще быть не должно

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

 

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

 

ed: cyka сломало после постинга, ебал я ваши браузеры и веб редакторы. ед2: добавил код

 

просто с пробелами можно нормально форматировать используя половину дефолтного размера

например, я не особо вникал какие там дефолтные конвенции в С++ по-поводу форматирования кода в объявлении класса

но я пришёл к тому что юзаю половину "дефолтного" отступа для модификаторов доступа и полный для самих сигнатур

 

 

 

0579a4cdb3.png

 

 

 

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

у кого размер таба 8 оно уплывёт нахуй, у кого 2 будет на одной вертикали, потому что символа "полутаб" я чето не припомню


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

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


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

пользуюсь выравниванием IDEA из коробки

на всех проектах у всех так

пробелы это из 2007?


:buba:

ни мало ни много, а много и мало

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


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

в каждой ИДЕ перенастраиваю форматирование сам

правда всегда забываю скопировать конфиг и наверное на каждую настраиваю всё по 20 раз

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


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

пользуюсь выравниванием IDEA из коробки

на всех проектах у всех так

пробелы это из 2007?

 

а в идее как раз на пробелах всё сделано (инфа не точная)

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

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


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

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