- 1
- 2
- 3
var _0xdb2a=["","\x6A\x6F\x69\x6E","\x72\x65\x76\x65\x72\x73\x65","\x73\x70\x6C\x69\x74"];
function getCoo2(_0x733fx2,_0x733fx3){
    return _0x733fx2[_0xdb2a[3]](_0xdb2a[0])[_0xdb2a[2]]()[_0xdb2a[1]](_0xdb2a[0])+_0x733fx3}Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
var _0xdb2a=["","\x6A\x6F\x69\x6E","\x72\x65\x76\x65\x72\x73\x65","\x73\x70\x6C\x69\x74"];
function getCoo2(_0x733fx2,_0x733fx3){
    return _0x733fx2[_0xdb2a[3]](_0xdb2a[0])[_0xdb2a[2]]()[_0xdb2a[1]](_0xdb2a[0])+_0x733fx3}Чтобы жизнь маслом ботоводам не казалась. Вот вам загадочка - что здесь происходит?
+142
### TASK 1
R <- 1.987
toSi <- function (value, molar_mass) {
  return (value * 4190 / molar_mass)
}
delta <- function (experiment, theory) {
  return((experiment - theory)/experiment*100)
}
einsteinFormula <- function (t, A, B, D) {
  return(A + B * t + D * t^2)
}
bennewitzRossner <- function (cv, Cnu, n, m, Cd, q) {
  coeff1 = (3*n-6-m-q)/q
  return(cv + R + 1/2 * m * R + Cnu + coeff1*Cd)
}
heatCapacity <- function(n, links, t, Anu, Bnu, Dnu, Ad, Bd, Dd, m, M) {
  c_nu <- einsteinFormula(t, Anu, Bnu, Dnu)
  #print(c_nu)
  c_d <- einsteinFormula(t, Ad, Bd, Dd)
  #print(c_d)
  C_rot <- sum(c_nu*links)
  C_bend <- sum(c_d*links)
  q <- sum(links)
  C_kalmol <- bennewitzRossner(3*R, C_rot, n, m, C_bend, q)
  C_br <- toSi(C_kalmol, M)
  return(data.frame(C_kalmol, C_br, C_rot, C_bend))
}
task11 <- function () {
  t_C6H14 <- c(400, 600, 800)
  n_C6H14 <- 20
  m_C6H14 <- 5
  M_C6H14 <- 86.2
  Cp_C6H14_kalmol <- (3 * n_C6H14 - 2) * R
  #print(Cp_C6H14_kalmol)
  Cp_C6H14_mkt <- toSi(Cp_C6H14_kalmol, M_C6H14)
 # print(Cp_C6H14_mkt)
  Cp_C6H14_exp <- c(1890, 2611, 3159)
  deltaC <- delta(Cp_C6H14_exp, Cp_C6H14_mkt)
  cp_C6H14_1 <- heatCapacity(
    20, 
    c(5, 14), #Links number
    400, #Temperatures
    c(-1.09, 0.229), c(6*10^-3, -1.224*10^-3), c(-4.495*10^-6, 1.658*10^-6), #A, B, D rotational
    c(0.73, -0.928), c(3.414*10^-3, 3.9*10^-3), c(-2.577*10^-6, -1.324*10^-6), #A, B, D bending
    m_C6H14, 86.2
  )
  cp_C6H14_2 <- heatCapacity(
    20, 
    c(5, 14), #Links number
    600, #Temperatures
    c(-1.09, 0.229), c(6*10^-3, -1.224*10^-3), c(-4.495*10^-6, 1.658*10^-6), #A, B, D rotational
    c(0.73, -0.928), c(3.414*10^-3, 3.9*10^-3), c(-2.577*10^-6, -1.324*10^-6), #A, B, D bending
    m_C6H14, 86.2
  )
  cp_C6H14_3 <- heatCapacity(
    20, 
    c(5, 14), #Links number
    800, #Temperatures
    c(-1.09, 0.229), c(6*10^-3, -1.224*10^-3), c(-4.495*10^-6, 1.658*10^-6), #A, B, D rotational
    c(0.73, -0.928), c(3.414*10^-3, 3.9*10^-3), c(-2.577*10^-6, -1.324*10^-6), #A, B, D bending
    m_C6H14, 86.2
  )
  cp <- c(cp_C6H14_1$C_br, cp_C6H14_2$C_br, cp_C6H14_3$C_br)
  print(c(cp_C6H14_1$C_rot, cp_C6H14_2$C_rot, cp_C6H14_3$C_rot))
  print(c(cp_C6H14_1$C_bend, cp_C6H14_2$C_bend, cp_C6H14_3$C_bend))
  deltaC_br <- delta(Cp_C6H14_exp, cp)
  #r <- data.frame(t, Cp_C6H14_mkt, Cp_C6H14_exp, cp, deltaC, deltaC_br)
  return(data.frame(t_C6H14, Cp_C6H14_mkt, Cp_C6H14_exp, deltaC, cp, deltaC_br))
}Мой грязный говнокод на R. Решал дз в инст, рассчет теплоемкости дряни по методу -Д-ж-и-г-у-р-д-ы-и-Б-а-р-р-и-А-л-е-б-а-с-о-в-а- Бенневица-Росснера. Шлю в кучу, потому что нет раздела для эрочки :( Особая ржака начинается со строчки №46.
+142
foreach($_REQUEST as $key => &$val) {
	$val = htmlspecialchars(stripslashes(trim($val)));
}
$officeId = intval($_REQUEST["office-id"]);
$date = $_REQUEST["date"];
// [...]Эпик вин, однозначно
+142
float SGammaUIPanel::OnGetGamma() const
{
  float DisplayGamma = GEngine->DisplayGamma;
  return GEngine ? DisplayGamma : 2.2f;
}Этот и другие прелести из UE в статье https://www.unrealengine.com/blog/how-pvs-studio-team-improved-unreal-engines-code
+142
#define ADD_TYPE(type, tname, plname) \
	int Get ## tname ## LocByName(string name) const\
	{\
		assert(MyInterface!=null);\
		auto index=MyInterface.data->get_id_by_name(name);\
		assert(index==-1 || MyInterface.data->Structure.Declarations[index].Type==ValueType::tname);\
		return index;\
	}\
	ShaderParameters& Set ## tname (int loc, type val)\
	{\
		return Set ## plname (loc, &val, 0, 1);\
	}\
	ShaderParameters& Set ## tname (string name, type val)\
	{\
		return Set ## tname (Get ## tname ## LocByName(name), val);\
	}\
	ShaderParameters& Set ## plname (int loc, const type* vals, ushort first, ushort count)\
	{\
		if(loc==-1) return *this;\
		assert(MyInterface!=null);\
		update_id=++MyInterface.data->num_updates;\
		values.Set(loc, vals, first, count);\
		return *this;\
	}\
	ShaderParameters& Set ## plname (string name, const type* vals, ushort first, ushort count)\
	{\
		return Set ## plname (Get ## tname ## LocByName(name), vals, first, count);\
	}\
	type Get ## tname (int loc, ushort i=0) const\
	{\
		if(loc==-1) return type();\
		return values.Get<type>(loc, i);\
	}\
	type Get ## tname (string name, ushort i=0) const\
	{\
		return Get ## tname (Get ## tname ## LocByName(name), i);\
	}
	ADD_TYPE(float, Float, Floats);
	ADD_TYPE(Math::vec2, Vec2, Vecs2);
	ADD_TYPE(Math::vec3, Vec3, Vecs3);
	ADD_TYPE(Math::vec4, Vec4, Vecs4);
	ADD_TYPE(int, Int, Ints);
	ADD_TYPE(Math::ivec2, IVec2, IVecs2);
	ADD_TYPE(Math::ivec3, IVec3, IVecs3);
	ADD_TYPE(Math::ivec4, IVec4, IVecs4);
	ADD_TYPE(Math::mat3, Mat3, Mats3);
	ADD_TYPE(Math::mat4, Mat4, Mats4);
#undef ADD_TYPEВот так в моём движке идёт работа с параметрами шейдеров. Макросы делал, чтобы избежать копипаста. Выглядит ужасно, отлаживать неудобно, но зато использовать удобно. Буду думать, как красиво перевести это на шаблоны, чтобы не потерять удобство использования.
+142
template<class T> 
void KillGorynich()
{
	T counter = 1;
	while (true)
	{
		T newCount = counter + counter;
		if (newCount > counter)
		{
			std::cout << "Отрубил Илья Муромец змею горынчу " << counter << " голов, а на их месте " << newCount << " выросло\n";
			counter = newCount;
		}
		else
		{
			std::cout << "Отрубил Илья Муромец змею горынчу " << counter << " голов, и умер змей горыныч\n";
			char * bits = "";
			switch (sizeof(T) * 8)
			{
			case 8:
				printf("Потому что восьмибитный был\n");
				break;
			case 16:
				printf("Потому что шестнадцатибитный был\n");
				break;
			case 32:
				printf("Потому что тридцатидвухбитный был\n");
				break;
			case 64:
				printf("Потому что шестидесятичетырехбитный был\n");
				break;
			}
			break;
		}
	}
}
int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_ALL, "russian");	
 	//KillGorynich<unsigned short>();
 	KillGorynich<unsigned int>();
 	//KillGorynich<unsigned long long>(); 
 	//KillGorynich<long double>();
	
	while (!_kbhit());
	return 0;
}Шаблонизм головного мозга.
+142
private DelegateCommand loginCommand;
    public string Username { get; set; }
    public string Password { get; set; }
    public ICommand LoginCommand
    {
        get
        {
            if (loginCommand == null)
            {
                loginCommand = new DelegateCommand(
                    Login, CanLogin );
            }
            return loginCommand;
        }
    }
    private bool CanLogin()
    {
        return !string.IsNullOrEmpty(Username);
    }
    private void Login()
    {
        bool result = securityService.IsValidLogin(Username, Password);
        if (result) { }
        else { }
    }Паблик стринг, чтоб тебя
+142
private boolean get(CharArrayExt szNum, CountryAreaContainer container)  {
        char cCur = 0;
        if(!szNum.isEmpty()) {
            cCur = szNum.charAt(0);
        }
        Country lpSettingsCountry = isRemoveNPrefixAfterCC();
        if ((cCur != 0) && lpSettingsCountry != null) {
            int iLen = lpSettingsCountry.getNationalPrefix().length();
            if ((iLen > 0) && szNum.startsWith(lpSettingsCountry.getNationalPrefix())) {
                szNum.cut(iLen);
                cCur = szNum.charAt(0);
                container.areaOffset = iLen;
            }
        }
        if ((cCur != 0) && isNodeExist(cCur)) {
            if(getNode(cCur).get(szNum.cut(1), container)) {
                return true;
            }
        }
        int iCount = items.size();
        if (iCount == 1) { //Normally
            NodeItemBase lpItem = items.get(0);
            if (lpItem.isArea()) {
                container.area = (Area) lpItem;
            }
            container.country = lpItem.getCountry();
            return true;
        } else {
            if (iCount > 1) {
                for (int i = 0; i < iCount; i++) {
                    NodeItemBase lpItem = items.get(i);
                    if (lpItem.isCountry()) {
                        Country lpCountry = (Country) lpItem;
                        if (lpCountry.getAreas().size() == 0) {
                            container.country = lpCountry;
                            return true;
                        }
                    }
                }
            }
        }
        return false;
 }Кто писал этот код - знайте, Я Вас НЕНАВИЖУ!!!
+142
void AttachToParser(Parser* pParser)
{
	parser=pParser;
		
	static const char* const typeNames[]={"ShaderInterface", "ShaderModule", "ShaderModuleType", "ShaderModulePattern", "ShaderTemplate"};
	typedef void (ShaderGeneratorParser::* StructureProcessor)();
	static StructureProcessor processors[]={&ShaderGeneratorParser::ProcessShaderInterface, &ShaderGeneratorParser::ProcessShaderModule,
		&ShaderGeneratorParser::ProcessShaderModuleType, &ShaderGeneratorParser::ProcessShaderModulePattern, &ShaderGeneratorParser::ProcessShaderTemplate};
	for(uint i=0; i<numof(processors); i++)
	{
		auto processor=processors[i];
		ShaderGeneratorParser mycopy=*this;
		parser->DeclarationBlockParsers.Append(typeNames[i], [mycopy, processor]() mutable {(mycopy.*processor)();});
	}
}
            Делаю парсер конфигов для своего игрового движка. Он готов наверное всего на 10% и представлял собой один класс, который уже разросся. Стало неудобно по нему передвигаться. Решил разбить парсер на модули. Это  код того, как один из модулей цепляется к основному классу парсера.
 Этот модуль умеет парсить 5 разных блоков, объединённых общим назначением - сборка шейдеров из модулей. За каждый тип блоков отвечает своя функция. Об этом функция и сообщает основному классу.
 Цель такая, чтобы модуль работал даже после удаления самого экземпляра. Для этого пришлось пропихнуть копию экземпляра внутрь std::function. Более нормального способа, чем через лямбду с замканием, я не нашёл.
        
+142
return ("" + ((10 - (acn = "229" + acn)
                        .Select((c, с) => (int)(c - '0') * (с % 2 + 1))
                        .Sum(c => c / 10 + c % 10) % 10) % 10)).Insert(0, acn);