1. JavaScript / Говнокод #16258

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    function toJData(
                                r_name_short_row,
                                r_name_full_row,
                                r_id_row, r_name_short_col,
                                r_name_full_col, r_id_col,
                                r_period,
                                r_year,
                                r_recruit,
                                r_contract,
                                r_recruit_plan,
                                r_contract_plan,
                                index
                    ){
    		var tmp = new Object();
    		tmp.r_name_short_row=r_name_short_row;
    		tmp.r_name_full_row = r_name_full_row;
    		tmp.r_id_row = r_id_row;
    		tmp.r_name_short_col = r_name_short_col;
    		tmp.r_name_full_col = r_name_full_col;
    		tmp.r_id_col = r_id_col;
    		tmp.r_period =r_period;
    		tmp.r_year = r_year;
    		tmp.r_recruit = r_recruit;
    		tmp.r_contract = r_contract;
    		tmp.r_recruit_plan = r_recruit_plan;
    		tmp.r_contract_plan = r_contract_plan;
    		tmp.index = index;
    		return tmp;
    		
    	}

    Разбираю код сотрудника, отчалившего в отпуск.
    Внезапно до меня доходит, что я вижу: это же пресловутое клонирование!

    Запостил: torbasow, 30 Июня 2014

    Комментарии (12) RSS

    • > Внезапно до меня доходит, что я вижу: это же пресловутое клонирование!
      Это клонирование? о_О
      А оригинальный объект в это чудо по полям передаётся?
      Ответить
      • Ну да, по тем же самым. Осталось неясно — зачем, ведь оригинальный объект больше нигде не используется.
        Ответить
        • а вдруг в оригинальном объекте кроме этих полей еще какие-то есть\кто-то их добавил. А тут чистим.
          Ответить
          • С таким количество, скорее всего было бы легче сначала скопировать, а потом удалить ненужное, ведь для копирования есть _.clone().
            Ответить
            • Ну либо циклом по списку нужных полей.
              Ответить
              • Через рефлексию ебаную?
                Ответить
                • В жс "рефлексия" не считается чем-то плохим. Как-то так:
                  fields = ['r_name_short_row', ...];
                  copy = new Object();
                  for (var i = 0; i < fields.length; ++i)
                      copy[fields[i]] = original[fields[i]];
                  return copy;
                  Ответить
                  • Рефлексия - это хитрый обход. Сама по себе она хороша, но это лишняя палка в руку обезьяне. А когда ее использую где попало - так и вовсе катастрофа.
                    Ответить
                    • > А когда ее использую где попало
                      А ты не используй где попало, и чесаться не будет.
                      Ответить
                      • Ну так это не отменяет того факта, что рефлексия - ебаная)
                        Ответить
    • Это же мумификация! Все органы вытаскивают и сохраняют отдельно он тело покойного!
      Ответить
      • Он просыпается, а мозги в тумбочке.
        Ответить

    Добавить комментарий