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

Hed-kun

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

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

http://puu.sh/v9ejZ/cbd2fc3621.png

 

а вот веб шторму почему-то похуй

http://puu.sh/v9enp/2aec46f354.png


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

5c8bbc85b99e.gif

 

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

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


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

 

я кстати удивлен что студия не ловит if (bActive == bActive)

я вот глянул, рли не ловит.

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

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

http://puu.sh/v9ev2.png

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


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

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

Вот статья об анализе кода Cryengine 5 (C# как я понимаю), написанного явно не студентами

https://habrahabr.ru/company/pvs-studio/blog/325600/

Один из первых примеров функция setActive, в которой просто примитивный фейл со сравнением переменной с самой собой (очепятка)

Внимание вопрос - как блядь люди пишут и коммитят такой код вообще? У поцанов линтеры не изобрели? Покрытия тестами и тд?

Я у себя на проекте пробел после запятой не поставлю - мне линтер из монитора в лицо плюнет. А уж задетектить сравнение переменной с самой собой - ну мне кажется тут даже линтер не нужен, учитывая что все эти СУРЬЕЗНЫЕ пограмисты пишут в йоба-иде, которые грузятся миллион лет, и мне кажется там такое должно быть по умолчанию.

А еще проиграл вголосяру что в этой же функции имеется вот такое

m_bActive = bActive;

OnResetState();

 

Ебать, я около-глобальные переменные изменял внутри функций последний раз год-два назад (когда опыт кодинга был год+ считай), если не считать демок офк. Ибо это процедурное программирование считай. Ну с es6 классами офк могу позволить себе изменять this.%var%, ибо четко понятно, что это свойство на уровне класса. Но вот то что написано сверху это прям вообще пиздос же, неужели это вполне адекватный говнокод паттерн написания кода в C#?

 

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

мне интересно, как вот это

class CFeatureCollision : public CParticleFeature
{
public:
  CRY_PFX2_DECLARE_FEATURE

public:
  CFeatureCollision();
  ....

  bool  IsActive() const  { return m_terrain ||
                                   m_staticObjects ||
                                   m_staticObjects; }
  ....
  bool m_terrain;
  bool m_staticObjects;
  bool m_dynamicObjects;
};

может оставлять сомнения в том, что это за язык?

Там шарпом и не пахнет даже, натуральные плюсы


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

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


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

 

 

я кстати удивлен что студия не ловит if (bActive == bActive)

я вот глянул, рли не ловит.

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

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

v9ev2.png

 

мб изза того что спп проект, хз

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


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

 

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

Вот статья об анализе кода Cryengine 5 (C# как я понимаю), написанного явно не студентами

https://habrahabr.ru/company/pvs-studio/blog/325600/

Один из первых примеров функция setActive, в которой просто примитивный фейл со сравнением переменной с самой собой (очепятка)

Внимание вопрос - как блядь люди пишут и коммитят такой код вообще? У поцанов линтеры не изобрели? Покрытия тестами и тд?

Я у себя на проекте пробел после запятой не поставлю - мне линтер из монитора в лицо плюнет. А уж задетектить сравнение переменной с самой собой - ну мне кажется тут даже линтер не нужен, учитывая что все эти СУРЬЕЗНЫЕ пограмисты пишут в йоба-иде, которые грузятся миллион лет, и мне кажется там такое должно быть по умолчанию.

А еще проиграл вголосяру что в этой же функции имеется вот такое

m_bActive = bActive;

OnResetState();

 

Ебать, я около-глобальные переменные изменял внутри функций последний раз год-два назад (когда опыт кодинга был год+ считай), если не считать демок офк. Ибо это процедурное программирование считай. Ну с es6 классами офк могу позволить себе изменять this.%var%, ибо четко понятно, что это свойство на уровне класса. Но вот то что написано сверху это прям вообще пиздос же, неужели это вполне адекватный говнокод паттерн написания кода в C#?

 

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

мне интересно, как вот это

class CFeatureCollision : public CParticleFeature
{
public:
  CRY_PFX2_DECLARE_FEATURE

public:
  CFeatureCollision();
  ....

  bool  IsActive() const  { return m_terrain ||
                                   m_staticObjects ||
                                   m_staticObjects; }
  ....
  bool m_terrain;
  bool m_staticObjects;
  bool m_dynamicObjects;
};

может оставлять сомнения в том, что это за язык?

Там шарпом и не пахнет даже, натуральные плюсы

 

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

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

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

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


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

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


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

а, ну и по поводу изменения глобальных переменных

 

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

 

 

 

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

Да, сравнение переменной с самой собой это легкий кейс (наверное), хотя в плюсах и сравнение чисел без проблем может быть перекрыто, не говоря уже о том, что всё может быть повязано на макросах, которые изменят код до неузнаваемости и тд. Итого в пизду этим заниматься непрофильной программе

 

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


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

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


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

помимо того, что без var нормально пользоваться линком было бы очень больно, без var невозможно использовать селекты в анонимные типы, тк ТИПА ТО НЕТ.

 

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

ну студия без решарпера - это кусок говна.

но майкрософт с этим ничего не делает.

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


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

5c8bbc85b99e.gif

 

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

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


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

Глобальных всмысле public? Так на то оно и паблик, чтоб его менять если оно просто параметр.

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


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

Глобальных всмысле public? Так на то оно и паблик, чтоб его менять если оно просто параметр.

он жаваскриптер

глобальный значит, что область видимости глобальная


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

5c8bbc85b99e.gif

 

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

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


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

 

помимо того, что без var нормально пользоваться линком было бы очень больно, без var невозможно использовать селекты в анонимные типы, тк ТИПА ТО НЕТ.

 

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

ну студия без решарпера - это кусок говна.

но майкрософт с этим ничего не делает.

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

 

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


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

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


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

 

Глобальных всмысле public? Так на то оно и паблик, чтоб его менять если оно просто параметр.

он жаваскриптер

глобальный значит, что область видимости глобальная

 

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

 

 

ну студия без решарпера - это кусок говна.

но майкрософт с этим ничего не делает.

вот я много уже раз слышал, но бля 200$

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


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

 

помимо того, что без var нормально пользоваться линком было бы очень больно, без var невозможно использовать селекты в анонимные типы, тк ТИПА ТО НЕТ.

 

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

ну студия без решарпера - это кусок говна.

но майкрософт с этим ничего не делает.

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

 

ващето с каждой новой версией студии в интеллисенс всосывают овердохуя фич из решарпера

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


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

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

ну тогда и Array.map и Array.reduce - отличный линк

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

5c8bbc85b99e.gif

 

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

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


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

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

Вот статья об анализе кода Cryengine 5 (C# как я понимаю), написанного явно не студентами

https://habrahabr.ru/company/pvs-studio/blog/325600/

Один из первых примеров функция setActive, в которой просто примитивный фейл со сравнением переменной с самой собой (очепятка)

Внимание вопрос - как блядь люди пишут и коммитят такой код вообще? У поцанов линтеры не изобрели? Покрытия тестами и тд?

Я у себя на проекте пробел после запятой не поставлю - мне линтер из монитора в лицо плюнет. А уж задетектить сравнение переменной с самой собой - ну мне кажется тут даже линтер не нужен, учитывая что все эти СУРЬЕЗНЫЕ пограмисты пишут в йоба-иде, которые грузятся миллион лет, и мне кажется там такое должно быть по умолчанию.

А еще проиграл вголосяру что в этой же функции имеется вот такое

m_bActive = bActive;

OnResetState();

 

Ебать, я около-глобальные переменные изменял внутри функций последний раз год-два назад (когда опыт кодинга был год+ считай), если не считать демок офк. Ибо это процедурное программирование считай. Ну с es6 классами офк могу позволить себе изменять this.%var%, ибо четко понятно, что это свойство на уровне класса. Но вот то что написано сверху это прям вообще пиздос же, неужели это вполне адекватный говнокод паттерн написания кода в C#?

 

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

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

 

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

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

 

а про "протекание абстракций и не по ООП" - иногда это диктуется производительностью

если это самый часто вызываемый метод в программе то изменение в памяти напрямую а не через абстракцию (вызов метода или еще что-то) позволяет увеличить производительность.

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


Изменено пользователем Just.Doit

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

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


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

я не понял, а чо плохого в том, чтобы через this. в методе присваивать значение глобальной переменной? :hmm:


:buba:

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

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


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

я не понял, а чо плохого в том, чтобы через this. в методе присваивать значение глобальной переменной? :hmm:

Там итак кода дохуя, так еще и с this ебаться.

Да нахуй оно надо - работает же.

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


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

нахуй там this если это мембер переменная? 

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


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

сассоциировалось с суезом

 

GSatTtjnc8k.jpg

 

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

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

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


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

о дажст ду ит
а где ты пропадал?

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


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

Ну если префикс m_ юзается по соглашению для переменных на уровне класса, тогда ок, вопрос про функции с запашком отпадает.

 

То что говнокода везде дохуя я это знаю. Но мне всегда казалось что с теми иде, что юзают поцаны в таких языках, подобные примитивные фейлы (сравнение переменной с самой собой) должны доджится по умолчанию.


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

userbar-53933.png

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

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


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

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