1. C# / Говнокод #24895

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // todo '+1' is temporary
    private string CorrectPhoneNumber(string phoneNumber, string countryCode = "+1")
    {
    	if (phoneNumber.Substring(0, 1) != "+")
    	{
    		return string.Format("{0}{1}", phoneNumber.Length == 10 ? countryCode : "+", phoneNumber);
    	}
    
    	return phoneNumber;
    }

    Genious!

    Moses, 11 Октября 2018

    Комментарии (10)
  2. C# / Говнокод #24894

    +2

    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
    [HttpPost]
            public string PayFromCreditCard(CreditCardViewModel cardInfo, double depositValue)
            {
                try
                {
                    // todo: make real payment
                    return AjaxResult.CreateSuccess();
                }
                catch (Exception exc)
                {
                    return AjaxResult.CreateError(exc.Message);
                }
            }

    Этот код сейчас живет где-то на продакшене...

    Moses, 11 Октября 2018

    Комментарии (2)
  3. C++ / Говнокод #24892

    +1

    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
    std::size_t fib(const std::size_t index) {
      if (index < 3)
        return !!index;
    
      std::size_t  f2 = 1; // f(n - 2)
      std::size_t  f1 = 1; // f(n - 1)
      std::size_t result = 0;
      for (std::size_t i = 2; i < index; ++i)
      {
        result = f1 + f2;
        f1 = f2;
        f2 = result;
      }
    
      return result;
    }

    Что Clang вытворяет с несчастной функцией Фибоначчи?
    https://godbolt.org/z/2SFUm0

    Elvenfighter, 10 Октября 2018

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

    0

    1. 1
    2. 2
    3. 3
    [...]
    After some configuration changes, I was able to add the 2000 ports by defining them out manually.
    [...]

    https://stackoverflow.com/questions/37992007/creating-ftp-service

    Потрудился наславу: создал 2К портов в конфигурации, вручную!

    Напомнило историю с МСДН, когда гейдев пожаловался на то, что сапер тормозит: он его создал из 5000 кнопок, которые он поставил на формочку в ВинФормс.

    Но самое говно-то не там, а в Кубернетисе, конечно.

    wvxvw, 10 Октября 2018

    Комментарии (28)
  5. Куча / Говнокод #24889

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Долбанный андроид.
    Почему когда я обновляю приложения памяти всё меньше и меньше?
    Он что, при обновлении оставляет предыдущие версии?
    Просто охуеть. Телефону 3 года, поставлено 2 приложении, а памяти, блять, уже нет.
    ЧЗХ?

    LinuxGovno, 10 Октября 2018

    Комментарии (193)
  6. Куча / Говнокод #24887

    −4

    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
    func (incident Incident) DeleteResponsibleMicroservices(microservices []string) {
    	var teamsDelete []string
    	responsibleMss := incident.GetResponsibleMicroservices()
    	for _, microservice := range microservices {
    	ResponsibleMssLoop:
    		for _, responsibleMs := range responsibleMss {
    			if microservice == responsibleMs.MicroserviceId {
    				service.GetInstanceDB().Delete(responsibleMs)
    				if team, ok := GetTeamByMs(microservice); ok != false {
    					for _, ms := range incident.GetResponsibleMicroservices() {
    						if teamFind, ok := GetTeamByMs(ms.MicroserviceId); ok != false && teamFind == team {
    							continue ResponsibleMssLoop
    						}
    					}
    					teamsDelete = append(teamsDelete, team)
    				}
    			}
    		}
    	}
    	if len(teamsDelete) > 0 {
    		incident.DeleteResponsibles(teamsDelete)
    	}
    }

    Отличное читается код на Golang

    prostohz, 09 Октября 2018

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

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    int** delete_row(int** arr, int &row_count, int  n) 
    {
            delete arr[n-1];
        	for (int i = n-1; i < row_count-1; i++) 
            {
                    arr[i] = arr[i+1];
        	}
        	arr[row_count-1] = NULL;
        	delete arr[row_count-1];
            row_count--; 
        	return arr;
    }

    dumiv, 09 Октября 2018

    Комментарии (155)
  8. Swift / Говнокод #24885

    0

    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
    31. 31
    32. 32
    enum ErrorViewHelper {
    
        static var errorIsShown = false
        static var errorView: ErrorView?
    
        private static var errorWindow: UIWindow = {
            let width = (UIApplication.shared.delegate as? AppDelegate)?.window?.frame.size.width ?? 300
            let window = UIWindow(frame: CGRect(x: 0, y: 0, width: width, height: 300))
            return window
        }()
    
        static func show(error: Error) {
            if let error = error as? RequestError {
                switch error {
                case .error(description: let text):
                    showErrorView(error: text)
                case .errorWithMeta(description: let text, meta: _):
                    showErrorView(error: text)
                case .needAuthError:
                    showErrorAlert(title: nil, message: R.string.localizable.needAuthError()) {
                        // TODO: remove router from this class
                        AuthRouterImpl().showAuthPage()
                        AuthRouterImpl().showAuthFlowModally()
                    }
                case .badResponse:
                    showErrorView(error: R.string.localizable.badResponse())
                default: break
                }
            } else {
                showErrorView(error: error.text)
            }
        }

    vkasci, 09 Октября 2018

    Комментарии (20)
  9. Perl / Говнокод #24884

    +1

    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
    #! /usr/bin/perl
    
    use strict;
    use warnings;
    
    my %h1 = (one => 1, two => 2);
    my %h2 = (three =>3 , four => 4);
    
    sub h_uno { \%h1 }
    
    sub h_multi {
        my %all = (%h1, %h2);
    
        \%all;
    }
    
    while (my ($k, $v) = each %{h_uno()}) {
        print "k=$k, v=$v\n";
    }
    
    # следующий цикл не завершится никогда
    #while (my ($k, $v) = each %{h_multi()}) {
    #    print "k=$k, $v=$v\n";
    #}

    Один из традиционных подколов собеседований на Perl вакансию.

    https://www.linux.org.ru/forum/job/14518840

    Elvenfighter, 09 Октября 2018

    Комментарии (55)
  10. Куча / Говнокод #24880

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Давайте обсудим документацию для программ на GNU/Linux, и документацию MSDN.
    
    Я считаю, что по архитектуре и по документации GNU/Linux намного лучше.
    Потому что в man обычно декларативный стиль, и описывается поведение.
    Если же читать о windows программах -- то я обычно натыкаюсь на тупо гайды, где не описано конкнетно для чего такие действия нужно делать, 
    и как это будет обработано внутренней логикой программы.
    
    Linux -- ОС для разработчиков и инженеров ПО. Windows -- сомневаюсь что нацелена на это.

    OlegUP, 08 Октября 2018

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