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

    +142

    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
    // storage -> user -> project -> task -> attachments
    var userPath = path.join(basePath, userId);
    var projectPath = path.join(userPath, projectId);
    var taskPath = path.join(userPath, taskId);
    
    // happy mkdir... happy mkdir!
    try {
        try {
            fs.statSync(taskPath); // task folder exists
        }
        catch (err) {
            try {
                fs.statSync(projectPath); // project folder exists
            }
            catch (err) {
                try {
                    fs.statSync(userPath); // user folder exists
                }
                catch (err) {
                    fs.mkdirSync(userPath);
                }
                fs.mkdirSync(projectPath);
            }
            fs.mkdirSync(taskPath);
        }
    }
    catch (err) {
        return next(err);
    }

    Есть сервер на nodejs и программка типа менеджера задач. Надо было реализовать аттачменты к задачам. Есть папка storage, а в ней заводим папочки по иерархии, как в первом комментарии... и, видимо я что-то не понимаю в работе с файловой системой из под ноды :(

    Alendorff, 22 Мая 2015

    Комментарии (15)
  2. PHP / Говнокод #18225

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    // Когда лень удалять условие и рефакторить код в условии...
    if(1==1){
      // тут около 1000 строк кода...
    }

    littlefuntik, 22 Мая 2015

    Комментарии (4)
  3. PHP / Говнокод #18224

    +170

    1. 1
    header("HTTP/1.1 404 OK");

    DmitryDick, 22 Мая 2015

    Комментарии (11)
  4. Куча / Говнокод #18223

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    Вопрос у  меня есть. Весь известный интернет переискал найти не могу.  Прога для линукса нужна. Которая фиксирует факт нажатия клавиши и по желанию меня.
    Потом сообщает Вася ты с момента запуска проги нажимал кнопки 3 часа.   в таких то промежутках.  
    А то я слишком много мне так кажется [s]смотрю порно[/s] занимаюсь хуйней  а не работаю. 
    Такую прогу мне под линукс бы надо.

    Vasiliy, 22 Мая 2015

    Комментарии (42)
  5. C++ / Говнокод #18222

    +144

    1. 1
    sleh = UpCase(92); // просто слеш

    Просто слеш.

    bormand, 22 Мая 2015

    Комментарии (15)
  6. C++ / Говнокод #18221

    +142

    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
    QString queryString = QString("SELECT `angle`, `heights` FROM `heights%1` WHERE `angle` / 10 ").arg(camera->cid());
    
    	if (from <= 0 || to > 360)
    	{
    		if (from <= 0) // to the right of North
    		{
    			from += 360;
    
    			qSwap<double>(from, to);
    		}
    		else if (to > 360) // to the left of North
    		{
    			to -= 360;
    
    			qSwap<double>(from, to);
    		}
    
    		from += 0.1;
    		to -= 0.1;
    
    		queryString += "NOT ";
    	}
    
    	queryString += QString("BETWEEN %1 AND %2").arg(from, 0, 'f', 1).arg(to, 0, 'f', 1);

    извращался как мог, сколько дадите по шкале от 0 до 10?

    Wexter, 22 Мая 2015

    Комментарии (24)
  7. Си / Говнокод #18220

    +143

    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
    /* Example libCello Program */
    
    #include "Cello.h"
    
    int main(int argc, char** argv) {
    
      /* Stack objects are created using "$" */
      var int_item = $(Int, 5);
      var float_item = $(Real, 2.4);
      var string_item = $(String, "Hello");
    
      /* Heap objects are created using "new" */
      var items = new(List, int_item, float_item, string_item);
    
      /* Collections can be looped over */
      foreach (item in items) {
        /* Types are also objects */
        var type = type_of(item);
        print("Object %$ has type %$\n", item, type);
      }
    
      /* Heap objects destroyed with "delete" */
      delete(items); 
    }

    http://libcello.org/

    dxd, 22 Мая 2015

    Комментарии (5)
  8. Java / Говнокод #18219

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private String compId(final String name) {
    		final Pattern compiled = Pattern.compile("^on([_A-Za-z0-9]+)From([_A-Za-z0-9]+)$");
    		final Matcher matcher = compiled.matcher(name);
    		return matcher.matches() ? matcher.group(2) : null;
    	}
    
    	private String compEvent(final String name) {
    		final Pattern compiled = Pattern.compile("^on([_A-Za-z0-9]+)(From([_A-Za-z0-9]+))?$");
    		final Matcher matcher = compiled.matcher(name);
    		return matcher.matches() ? matcher.group(1) : null;
    	}

    Lure Of Chaos, 22 Мая 2015

    Комментарии (1)
  9. JavaScript / Говнокод #18217

    +145

    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
    this.serializeParams = function(params) {                                                                 
            var serialize = [];                                                                                   
            var buildParameters = function (parameters) {                                                         
                var result = {};                                                                                  
                if(typeof parameters == "object") {                                                               
                    for(var param in parameters) {                                                                
                        if(!parameters.hasOwnProperty(param)) {                                                   
                            continue;                                                                             
                        }                                                                                         
                        result[param] = buildParameters(parameters[param]);                                       
                    }                                                                                             
                }                                                                                                 
                if(typeof parameters == "string") {                                                               
                    return parameters;                                                                            
                }                                                                                                 
                return result;                                                                                    
            };                                                                                                    
            console.log(buildParameters(params));                                                                 
            for (var param in params) {                                                                           
                if(!params.hasOwnProperty(param)) {                                                               
                    continue;                                                                                     
                }                                                                                                 
                buildParameters(params[param]);                                                                   
                serialize.push(param + '=' + params[param]);                                                      
            }                                                                                                     
            if (serialize.length === 0) {                                                                         
                return '';                                                                                        
            }                                                                                                     
            return (this.options.method === "GET" ? "?" : "") + serialize.join('&');                              
        };

    В голове выглядело все идеально а получилось что то типа
    for(var i = 0; i < 1e10; i++) { continue; } // бесполезная работа

    LarexSetch, 22 Мая 2015

    Комментарии (5)
  10. Си / Говнокод #18216

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if((pDir = opendir(pchPath)) != NULL)
    {
        strcpy(chBuffer, pchPath);
        strcat(chBuffer, "/");
        while((pTemp == NULL) && ((pDirent = readdir(pDir)) != NULL))
        {
            if(((pChar = strstr(pDirent->d_name, Info.pchFilePrefix)) == pDirent->d_name) &&
               ((pChar = strstr(pDirent->d_name, Info.pchFileExtension)) != NULL)  &&
               (pChar[strlen(Info.pchFileExtension)] == '\0'))
            {
                sprintf(strrchr(chBuffer, '/') + 1, "%s", pDirent->d_name);

    лаконичные программисты лаконично ходят по каталогам.

    Dummy00001, 21 Мая 2015

    Комментарии (5)