1. Список говнокодов пользователя GhOsTMZ

    Всего: 3

  2. Pascal / Говнокод #7033

    +115

    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
    procedure info_();
      var
       i:integer;
       ActivityCategory,stroka,strok,stroka_sopr,http1100,http_sopr,tag,tag_sopr,until_date,date_:string;
       f1100,f_sopr,inf:textfile;
    begin  //главный
    clear();
    if form1.radioGroup1.ItemIndex=0 then begin
                                          http1100:='\\server1\Отдел 1\Program Files\Prof\profiki\1100\'+m+'.smc';
                                          http_sopr:='\\server1\Отдел 1\Program Files\prof\profiki\сопроводительное\'+m+'.smc';
                                          end;
    if form1.radioGroup1.ItemIndex=1 then begin
                                          http1100:='\\server1\Отдел 1\Program Files\Prof\banki\1100\'+m+'.smc';
                                          http_sopr:='\\server1\Отдел 1\Program Files\prof\banki\сопроводительное\'+m+'.smc';
                                          end;
    if form1.radioGroup1.ItemIndex=2 then begin
                                          http1100:='\\server1\Отдел 1\Program Files\Prof\YK\1100\'+m+'.smc';
                                          http_sopr:='\\server1\Отдел 1\Program Files\prof\YK\сопроводительное\'+m+'.smc';
                                          end;
    if form1.radioGroup1.ItemIndex=3 then begin
                                          http1100:='\\server1\Отдел 1\Program Files\Prof\NPF\1100\'+m+'.smc';
                                          http_sopr:='\\server1\Отдел 1\Program Files\prof\NPF\сопроводительное\'+m+'.smc';
                                          end;
    if form1.radioGroup1.ItemIndex=4 then begin
                                          http1100:='\\server1\Отдел 1\Program Files\Prof\REGISTRATOR\1100\'+m+'.smc';
                                          http_sopr:='\\server1\Отдел 1\Program Files\prof\REGISTRATOR\сопроводительное\'+m+'.smc';
                                          end;

    Пытался перенести в другую папку программу, после чего она по сути перестала работать, ругаясь ошибкой 63. Нашел ее исходники и увидел ЭТО... это лишь 5-10% всей процедуры, которая мало того, что ищет XML-файлы по определенному пути, так еще и парсит их...

    GhOsTMZ, 23 Июня 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function search() {
        $ret = array();
        foreach($this->dir() as $file)
            if($file->folder())
                $ret = array_merge($ret,$file->search()->asArray());
            else
                $ret[] = $file;
        return new mod_file_list($ret);
    }

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

    GhOsTMZ, 15 Февраля 2011

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

    +162

    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
    public static function create_folder ( $path, $rights = self::default_rights )
    	{
    		$result = true;
    		// Получаем список папок
    		$folders = explode( DIRECTORY_SEPARATOR, trim( self::get_absolute_path( $path ), DIRECTORY_SEPARATOR ) );
    		$exists = true;
    		// Ищем существующую папку
    		while ( $exists && sizeof( $folders ) )
    		{
    			$exists_folder[] = array_shift( $folders );
    			$exists = realpath( implode( DIRECTORY_SEPARATOR, $exists_folder ) );
    		}
    		if ( !file_exists( implode( DIRECTORY_SEPARATOR, $exists_folder ) ) )
    		{
    			array_unshift( $folders, array_pop( $exists_folder ) );
    		}
    		$parent = implode( DIRECTORY_SEPARATOR, $exists_folder );
    		unset( $exists_folder );
    		// поочередно создаем папки
    		foreach ( $folders as & $folder )
    		{
    			$parent .= DIRECTORY_SEPARATOR . $folder;
    			$result = mkdir( $parent, $rights );
    		}
    		clearstatcache( );
    		return $result;
    	}

    Вот что значит не знать про необязательный аргумент recursive у mkdir...

    GhOsTMZ, 14 Февраля 2011

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